[java] JavaFX 차트 및 그래픽스

JavaFX는 자바 기반의 사용자 인터페이스(UI) 프레임워크로서 다양한 그래픽 요소와 차트를 포함하고 있습니다. 이를 통해 데이터를 시각적으로 표현하고 사용자에게 보다 직관적인 경험을 제공할 수 있습니다.

JavaFX 차트

JavaFX는 다양한 종류의 차트를 지원합니다. 다음은 몇 가지 주요한 차트 유형의 예시입니다:

선 그래프(Line Chart)

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.chart.LineChart;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.stage.Stage;

public class LineChartExample extends Application {
    @Override
    public void start(Stage primaryStage) {
        // X축과 Y축 생성
        final NumberAxis xAxis = new NumberAxis();
        final NumberAxis yAxis = new NumberAxis();
        xAxis.setLabel("X");
        yAxis.setLabel("Y");

        // 선 그래프 생성
        final LineChart<Number, Number> lineChart = new LineChart<>(xAxis, yAxis);
        lineChart.setTitle("Line Chart Example");

        // 데이터 포인트 추가
        XYChart.Series<Number, Number> series = new XYChart.Series<>();
        series.setName("Data");
        series.getData().add(new XYChart.Data<>(1, 23));
        series.getData().add(new XYChart.Data<>(2, 14));
        series.getData().add(new XYChart.Data<>(3, 15));
        series.getData().add(new XYChart.Data<>(4, 24));

        // 차트에 데이터 포인트 추가
        lineChart.getData().add(series);

        // 씬 생성 및 보여주기
        Scene scene = new Scene(lineChart, 800, 600);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

막대 그래프(Bar Chart)

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.chart.BarChart;
import javafx.scene.chart.CategoryAxis;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.stage.Stage;

public class BarChartExample extends Application {
    @Override
    public void start(Stage primaryStage) {
        // X축과 Y축 생성
        final CategoryAxis xAxis = new CategoryAxis();
        final NumberAxis yAxis = new NumberAxis();
        xAxis.setLabel("Category");
        yAxis.setLabel("Value");

        // 막대 그래프 생성
        final BarChart<String, Number> barChart = new BarChart<>(xAxis, yAxis);
        barChart.setTitle("Bar Chart Example");

        // 데이터 포인트 추가
        XYChart.Series<String, Number> series = new XYChart.Series<>();
        series.setName("Data");
        series.getData().add(new XYChart.Data<>("A", 10));
        series.getData().add(new XYChart.Data<>("B", 20));
        series.getData().add(new XYChart.Data<>("C", 30));
        series.getData().add(new XYChart.Data<>("D", 15));

        // 차트에 데이터 포인트 추가
        barChart.getData().add(series);

        // 씬 생성 및 보여주기
        Scene scene = new Scene(barChart, 800, 600);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

JavaFX 그래픽스

JavaFX는 다양한 그래픽스 기능을 제공합니다. 예를 들어, 다음은 원을 그리는 예시입니다:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;

public class CircleExample extends Application {
    @Override
    public void start(Stage primaryStage) {
        // 원 생성
        Circle circle = new Circle(100, Color.BLUE);

        // 레이아웃 생성하여 원 추가
        StackPane root = new StackPane();
        root.getChildren().add(circle);

        // 씬 생성 및 보여주기
        Scene scene = new Scene(root, 800, 600);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

이 예시들은 JavaFX를 사용하여 간단한 차트 및 그래픽 요소를 생성하는 방법을 보여줍니다. JavaFX의 다양한 기능을 활용하여 더 복잡하고 풍부한 사용자 인터페이스를 개발할 수 있습니다.

추가적인 자세한 내용은 JavaFX 공식 문서를 참조하시기 바랍니다.