소개
JavaFX는 Java를 사용하여 풍부한 사용자 인터페이스(UI) 애플리케이션을 개발할 수 있는 강력한 플랫폼입니다. JavaFX의 하나의 중요한 기능은 CSS(Cascading Style Sheets)를 사용하여 UI 요소를 스타일링할 수 있다는 것입니다. CSS는 디자인과 레이아웃을 정의하는 데에 사용되는 스타일 시트 언어입니다. 이를 통해 JavaFX 애플리케이션의 외관을 쉽게 변경할 수 있습니다.
CSS 파일 생성
JavaFX에서 CSS를 사용하려면 CSS 파일을 생성해야 합니다. .css
확장자를 가진 텍스트 파일을 생성한 후 필요한 스타일을 정의합니다.
스타일 정의
JavaFX에서 CSS는 선택자와 속성으로 구성됩니다. 선택자는 스타일이 적용될 UI 요소를 지정하고, 속성은 해당 요소의 스타일을 정의합니다. 다음은 일반적인 CSS 속성의 예입니다.
background-color
: 배경색을 지정합니다.text-color
: 텍스트의 색상을 지정합니다.font-family
: 텍스트의 폰트 패밀리를 지정합니다.font-size
: 텍스트의 크기를 지정합니다.
선택자
JavaFX에서는 CSS 선택자를 사용하여 특정 UI 요소를 식별합니다. 예를 들어, Button
클래스를 지정하여 버튼 요소의 스타일을 변경할 수 있습니다. 다음은 일반적인 CSS 선택자의 예입니다.
#id
: id 속성을 사용하여 특정 요소를 선택합니다..class
: class 속성을 사용하여 특정 요소를 선택합니다.element
: 요소의 이름으로 특정 요소를 선택합니다.
스타일 적용
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 디자인을 향상시키고 응용 프로그램의 외관을 개선하는 데 큰 도움이 됩니다.