[java] JavaFX CSS 스타일링

소개

JavaFX는 Java를 사용하여 풍부한 사용자 인터페이스(UI) 애플리케이션을 개발할 수 있는 강력한 플랫폼입니다. JavaFX의 하나의 중요한 기능은 CSS(Cascading Style Sheets)를 사용하여 UI 요소를 스타일링할 수 있다는 것입니다. CSS는 디자인과 레이아웃을 정의하는 데에 사용되는 스타일 시트 언어입니다. 이를 통해 JavaFX 애플리케이션의 외관을 쉽게 변경할 수 있습니다.

CSS 파일 생성

JavaFX에서 CSS를 사용하려면 CSS 파일을 생성해야 합니다. .css 확장자를 가진 텍스트 파일을 생성한 후 필요한 스타일을 정의합니다.

스타일 정의

JavaFX에서 CSS는 선택자와 속성으로 구성됩니다. 선택자는 스타일이 적용될 UI 요소를 지정하고, 속성은 해당 요소의 스타일을 정의합니다. 다음은 일반적인 CSS 속성의 예입니다.

선택자

JavaFX에서는 CSS 선택자를 사용하여 특정 UI 요소를 식별합니다. 예를 들어, Button 클래스를 지정하여 버튼 요소의 스타일을 변경할 수 있습니다. 다음은 일반적인 CSS 선택자의 예입니다.

스타일 적용

JavaFX에서는 CSS를 사용하여 스타일을 적용하는 두 가지 방법이 있습니다.

1. Scene에 스타일 시트 연결

Scene scene = new Scene(root);
scene.getStylesheets().add("style.css");

위의 코드에서 style.css는 스타일 시트 파일의 경로입니다. Scene에 스타일 시트 파일을 연결하면 파일에 정의된 모든 스타일이 Scene 내의 모든 요소에 적용됩니다.

2. 개별 요소에 직접 스타일 지정

Button button = new Button("Click me");
button.setStyle("-fx-background-color: #ff0000; -fx-text-fill: #ffffff;");

위의 코드에서 setStyle() 메서드를 사용하여 버튼 요소에 직접 CSS 스타일을 지정합니다.

예제

다음은 JavaFX 애플리케이션에서 CSS를 사용하여 버튼의 스타일을 변경하는 예제입니다.

Java 코드:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class CSSExample extends Application {
    public void start(Stage primaryStage) {
        // Button 생성
        Button button = new Button("Click me");

        // VBox 생성
        VBox root = new VBox(button);

        // Scene 생성 및 CSS 스타일 시트 연결
        Scene scene = new Scene(root);
        scene.getStylesheets().add("style.css");

        // Stage 설정
        primaryStage.setTitle("CSS Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

style.css:

.button {
    -fx-background-color: #ff0000;
    -fx-text-fill: #ffffff;
}

위의 예제에서 style.css 파일은 애플리케이션의 자원 디렉토리에 있어야하며, 버튼 요소의 배경색과 텍스트 색상을 변경하는 스타일을 정의합니다.

결론

JavaFX의 CSS를 사용하면 Java애플리케이션의 UI 요소에 쉽게 스타일을 적용할 수 있습니다. CSS 파일을 생성하고 선택자와 속성을 사용하여 UI 요소의 스타일을 지정할 수 있습니다. 이러한 스타일은 Scene에 스타일 시트를 연결하거나 개별 요소에 직접 지정하여 적용할 수 있습니다. JavaFX CSS는 UI 디자인을 향상시키고 응용 프로그램의 외관을 개선하는 데 큰 도움이 됩니다.

참고 자료