[java] JFoenix를 이용한 다크 모드 UI 디자인

많은 앱과 웹사이트에서 다크 모드 UI가 인기를 얻고 있습니다. 다크 모드는 사용자들에게 시각적인 쾌감을 주고, 눈의 피로를 줄여주는 장점을 갖고 있습니다. 이번에는 JFoenix 라이브러리를 이용하여 Java 애플리케이션에서 다크 모드 UI를 구현하는 방법에 대해 알아보겠습니다.

JFoenix는 JavaFX를 사용하는 UI 컴포넌트 라이브러리로, 풍부한 디자인과 애니메이션 효과를 제공합니다. JFoenix를 사용하여 다크 모드를 구현하려면 몇 가지 단계를 따라야 합니다.

다크 모드 테마 설정

먼저, JFoenix를 프로젝트에 추가해야 합니다. Maven이나 Gradle 같은 빌드 도구를 사용하는 경우, 해당 의존성을 추가해야 합니다.

<dependency>
    <groupId>com.jfoenix</groupId>
    <artifactId>jfoenix</artifactId>
    <version>9.0.10</version>
</dependency>

의존성을 추가한 후, 애플리케이션의 시작 부분에서 다음 코드를 사용하여 다크 모드 테마를 설정할 수 있습니다.

import com.jfoenix.controls.JFXDecorator;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class DarkModeApp extends Application {

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

    @Override
    public void start(Stage primaryStage) {
        JFXDecorator decorator = new JFXDecorator(primaryStage, new VBox());
        decorator.setCustomMaximize(true);
        
        Scene scene = new Scene(decorator, 800, 600);
        scene.getStylesheets().add(getClass().getResource("/dark-theme.css").toExternalForm());
        
        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

위의 예제에서는 JFXDecorator를 사용하여 기본 스타일이 적용된 VBox를 감싸고 있습니다. 그리고 scene의 스타일시트에 dark-theme.css 파일을 추가하고 있습니다.

스타일시트 작성

다음으로, dark-theme.css 파일을 생성하고 다크 모드를 위한 스타일을 정의해야 합니다. 아래는 예시입니다.

.dark-mode {
    -fx-background-color: #252525;
    -fx-text-fill: white;
}

.dark-mode .button {
    -fx-background-color: #434343;
    -fx-text-fill: white;
}

dark-mode 클래스를 사용하여 전체 배경 색상과 텍스트 색상을 수정하고, button 클래스에 대해서도 수정을 가했습니다. 필요한 경우 다른 컴포넌트에 대해서도 마찬가지로 스타일을 수정할 수 있습니다.

애플리케이션 실행

이제 애플리케이션을 실행해보면 다크 모드로 UI가 변경된 것을 확인할 수 있습니다.

다크 모드 UI 디자인은 사용자들에게 다양한 장점을 제공하며, JFoenix 라이브러리를 이용하면 쉽게 구현할 수 있습니다. 다른 JFoenix 컴포넌트를 활용하여 UI를 개선하고, 사용자들에게 더 나은 사용 경험을 제공해보세요.

참고 자료