[java] JFoenix를 사용하여 그리드뷰 디자인하기

JFoenix는 JavaFX의 확장 라이브러리로, 멋진 디자인 요소와 효과를 제공하는데 도움을 줍니다. 이번 블로그 포스트에서는 JFoenix를 사용하여 그리드뷰를 디자인하는 방법에 대해 알아보겠습니다.

JFoenix 라이브러리 추가하기

먼저, 프로젝트에 JFoenix 라이브러리를 추가해야 합니다. 이를 위해 Maven이나 Gradle과 같은 의존성 관리 도구를 사용하거나, JFoenix의 JAR 파일을 직접 다운로드해서 프로젝트에 추가할 수 있습니다.

FXML 파일 생성하기

먼저 FXML 파일을 생성하여 그리드뷰의 구조를 정의합니다. 이 예제에서는 sample.fxml이라는 이름의 FXML 파일을 생성합니다.

<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.layout.GridPane?>
<?import com.jfoenix.controls.JFXButton?>

<GridPane xmlns="http://javafx.com/javafx/8">
    <children>
        <JFXButton text="버튼 1" GridPane.rowIndex="0" GridPane.columnIndex="0"/>
        <JFXButton text="버튼 2" GridPane.rowIndex="0" GridPane.columnIndex="1"/>
        <JFXButton text="버튼 3" GridPane.rowIndex="1" GridPane.columnIndex="0"/>
        <JFXButton text="버튼 4" GridPane.rowIndex="1" GridPane.columnIndex="1"/>
    </children>
</GridPane>

위의 코드는 그리드뷰에 2x2 크기의 버튼을 배치하는 예제입니다.

컨트롤러 클래스 생성하기

FXML 파일을 사용하기 위해 컨트롤러 클래스를 생성해야 합니다. 이 예제에서는 SampleController.java라는 이름의 컨트롤러 클래스를 생성합니다.

import javafx.fxml.FXML;
import javafx.scene.layout.GridPane;
import com.jfoenix.controls.JFXButton;

public class SampleController {
    @FXML
    private GridPane gridView;

    public void initialize() {
        JFXButton button1 = new JFXButton("버튼 1");
        JFXButton button2 = new JFXButton("버튼 2");
        JFXButton button3 = new JFXButton("버튼 3");
        JFXButton button4 = new JFXButton("버튼 4");

        gridView.addRow(0, button1, button2);
        gridView.addRow(1, button3, button4);
    }
}

위의 코드에서 gridView 변수는 FXML 파일에서 정의한 그리드뷰를 나타냅니다. initialize() 메소드에서는 버튼을 생성하고 그리드뷰에 추가하는 코드가 포함되어 있습니다.

메인 애플리케이션 클래스 생성하기

마지막으로, 메인 애플리케이션 클래스를 생성하여 그리드뷰를 실행합니다. 이 예제에서는 MainApp.java라는 이름의 메인 애플리케이션 클래스를 생성합니다.

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class MainApp extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        Scene scene = new Scene(root);

        primaryStage.setScene(scene);
        primaryStage.setTitle("JFoenix를 사용하여 그리드뷰 디자인하기");
        primaryStage.show();
    }

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

위의 코드에서 sample.fxml은 생성한 FXML 파일의 경로를 나타냅니다. start() 메소드에서는 FXML 파일을 로드하여 Scene에 표시하고, 메인 윈도우에 적용합니다.

실행해보기

이제 모든 파일을 생성하고 코드를 작성했으니 애플리케이션을 실행해보세요. 그러면 JFoenix를 사용하여 디자인된 그리드뷰가 나타날 것입니다.

결론

JFoenix를 사용하면 JavaFX 애플리케이션에서 멋진 디자인 요소를 구현할 수 있습니다. 이번 예제에서는 JFoenix를 사용하여 그리드뷰를 디자인하는 방법을 알아보았습니다. JFoenix 라이브러리를 사용하면 더욱 풍부한 UI를 구현할 수 있으니, 필요에 따라 다른 JFoenix 컴포넌트도 살펴보시기 바랍니다.


참고 자료: