[java] JFoenix를 이용한 리스트뷰 디자인

JFoenix는 자바FX를 위한 일렉트론 라이브러리로, 아름다운 플랫 디자인을 제공합니다. 이 라이브러리를 사용하여 리스트뷰를 디자인하는 방법에 대해 알아보겠습니다.

1. JFoenix 라이브러리 추가하기

먼저 프로젝트에 JFoenix 라이브러리를 추가해야 합니다. Maven이나 Gradle과 같은 의존성 관리 도구를 사용하는 경우, build.gradle이나 pom.xml 파일에 JFoenix 의존성을 추가하세요.

dependencies {
    // 다른 의존성들...
    implementation 'com.jfoenix:jfoenix:8.0.10'
}

2. 리스트뷰 생성하기

리스트뷰를 생성하기 위해 FXML 파일을 사용하겠습니다. 아래는 예시 FXML 파일입니다.

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.ListView?>
<?import com.jfoenix.controls.JFXButton?>

<ListView fx:id="listView">
    <items>
        <JFXButton text="항목 1" />
        <JFXButton text="항목 2" />
        <JFXButton text="항목 3" />
    </items>
</ListView>

3. JFoenix 스타일 적용하기

리스트뷰의 디자인을 위해 JFoenix의 스타일 클래스를 사용하겠습니다. 코드에서 initialize 메소드를 사용하여 JFoenix 스타일을 적용합니다.

import com.jfoenix.controls.JFXListView;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;

import java.net.URL;
import java.util.ResourceBundle;

public class ListViewController implements Initializable {

    @FXML
    private JFXListView<String> listView;

    @Override
    public void initialize(URL location, ResourceBundle resources) {
        // JFoenix 스타일 적용
        listView.getStyleClass().add("jfx-list-view");
    }
}

4. JFoenix 테마 적용하기

JFoenix는 테마를 사용하여 디자인을 변경할 수 있습니다. 사용 가능한 테마 중 하나를 선택하고, Application 클래스의 start 메소드에서 아래와 같이 테마를 적용하세요.

import com.jfoenix.controls.JFXListView;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class MyApp extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage stage) throws Exception {
        FXMLLoader loader = new FXMLLoader(getClass().getResource("listview.fxml"));
        Parent root = loader.load();
        
        Scene scene = new Scene(root);

        // 테마 적용
        scene.getStylesheets().add(MyApp.class.getResource("dark-theme.css").toExternalForm());

        stage.setScene(scene);
        stage.show();
    }
}

마무리

이제 JFoenix를 이용하여 아름다운 디자인의 리스트뷰를 구현할 준비가 되었습니다. JFoenix의 다양한 컴포넌트와 스타일을 활용하여 자바FX 애플리케이션을 더욱 멋지게 만들어보세요.

참고 자료