JavaFX LineChart 〜グラフを描く、ワンポイントレッスン的な〜

JavaFX LineCharクラスを使う

LineChartクラスを使用して以下のようなグラフが描けます。

はっきり言ってコピペで作成しました。参照元はOracleのドキュメントです。

もともと作成していた部分に追加して作成しました。ちなみに散布図もありました。

ポイントは以下のように、縦軸と横軸の内容を定義(区別)しているところだと思います。CSVなどデータを読み込んでそれを表示するときに便利です。

final CategoryAxis xAxis = new CategoryAxis();
final NumberAxis yAxis = new NumberAxis();

あとは、値を代入して行く形で実装完了!Gitでソースをみれます

// 盾と横軸の設定
final CategoryAxis xAxis = new CategoryAxis();
final NumberAxis yAxis = new NumberAxis();
xAxis.setLabel("Month");       
// チャート(グラフ)
final LineChart<String,Number> lineChart = 
        new LineChart<String,Number>(xAxis,yAxis);
// グラフのタイトル        
lineChart.setTitle("Stock Monitoring, 2010");
// グラフの値を設定する
XYChart.Series series = new XYChart.Series();
series.setName("My portfolio");

series.getData().add(new XYChart.Data("Jan", 23));
series.getData().add(new XYChart.Data("Feb", 14));
series.getData().add(new XYChart.Data("Mar", 15));
series.getData().add(new XYChart.Data("Apr", 24));
series.getData().add(new XYChart.Data("May", 34));
series.getData().add(new XYChart.Data("Jun", 36));
series.getData().add(new XYChart.Data("Jul", 22));
series.getData().add(new XYChart.Data("Aug", 45));
series.getData().add(new XYChart.Data("Sep", 43));
series.getData().add(new XYChart.Data("Oct", 17));
series.getData().add(new XYChart.Data("Nov", 29));
series.getData().add(new XYChart.Data("Dec", 25));

vBox.getChildren().add(lineChart);
// データのセット
lineChart.getData().add(series);

関連ページ一覧

  1. Java 初めてでも大丈夫〜ステップアッププログラミングのススメ〜
  2. ステップアッププログラミング〜Java FxでHelloWorld解説〜
  3. Java StepUpPrograming〜JavaFX で四則計算〜

JavaFX ボタンのアクション〜イベント処理の実装方法ワンポイントレッスン的な〜

ボタンを押下した時の実装方法

Button viewChangeBtn = new Button("画面切り替え");
viewChangeBtn.setOnKeyPressed(new EventHandler() {
	@Override
	public void handle(KeyEvent event) {
            // イベント処理
	}
});

<注意>

インポートする時に「javafx.scene.input.KeyEvent」ではないawtなどにあるKeyEventをインポートするとビルドエラーが出る。

JavaFXでのボタン関連チュートリアル

[rakuten ids="nakayama-shiki:10000103"]









Java FX〜ワンポイント TextFieldの作り方〜

javafx.scene.control.TextFieldの作り方

テキストフィールドと言っても何個借ります。Swing, AWT, HTMLなど。。。

一応のためパッケージ名から記載します。これなら確実にJavaFXで使用するテキストフィールドです。JavaDocを参照します。

<ソース>

// 1個目の数値、テキストフィールド
TextField text1 = new TextField();
text1.setPrefColumnCount(3); // 必須ではない
text1.setAlignment(Pos.BASELINE_CENTER); // 必須ではない

<これを使用したコード>

public void start(Stage primaryStage) throws Exception {
    // Stageの設定
    primaryStage.setHeight(VIEW_HEIGHT);
    primaryStage.setWidth(VIEW_WIDTH);
    // レイアウトたて
    VBox vBox = new VBox(5);
    // レイアウト横
    HBox hBox = new HBox(8);
    // ラベルの設定
    Label label = new Label();
    // ハローワールドを出力する
    label.setText(myFirstProgram());
    label.setFont(new Font("RobotRegular", 24));
    vBox.getChildren().add(label);

    // 1個目の数値、テキストフィールド
    TextField text1 = new TextField();
    text1.setPrefColumnCount(3);
    text1.setAlignment(Pos.BASELINE_CENTER);
    hBox.getChildren().add(text1);
    // 計算式のラベル
    Label ope = new Label("+");
    hBox.getChildren().add(ope);

    // 2個目の数値、テキストフィールド
    TextField text2 = new TextField();
    text1.setPrefColumnCount(3);
    text1.setAlignment(Pos.BASELINE_CENTER);
    hBox.getChildren().add(text2);

    // 縦のレイアウトに追加する
    vBox.getChildren().add(hBox);
    // ペインの作成
    Group root = new Group();
    root.getChildren().add(vBox);

    // シーンの作成
    Scene scene = new Scene(root, VIEW_WIDTH, VIEW_HEIGHT);
    primaryStage.setScene(scene);
    primaryStage.show();
}

/**
 * JavaFX版のハローワールド実装用のメソッドになります。
 * @return 画面に出力する文字列
 */
public String myFirstProgram() {
    // この「hyoji = ""」を「"hyoji = "Hello World"」と修正してください。
    String hyoji = "Hello World";
    return hyoji;
}

ちなみにこれは、JavaFXで作成したアプリです。アプリを使用して。このブログのトップページの紹介をしています。

でわでわ。。。

関連ページ一覧

Eclipse セットアップ

  1. Java Install Eclipse〜開発ツールのインストール〜
  2. TensorFlow C++環境〜EclipseCDTをインストール〜
  3. Setup OpenGL with JavaJOGLを使う準備 for Eclipse
  4. Eclipse Meven 開発手順〜プロジェクトの作成〜
  5. Java OpenCV 環境セットアップ(on Mac)
  6. Eclipse SceneBuilderを追加する
  7. JavaFX SceneBuilder EclipseSceneBuilder連携~

Java Basic一覧

  1. Java Basic Level 1 〜Hello Java〜
  2. Java Basic Level2 〜Arithmetic Calculate〜
  3. Java Basic Level3 〜About String class〜
  4. Java Basic Level 4〜Boolean〜
  5. Java Basic Level 5〜If Statement〜
  6. Java Basic Summary from Level1 to 5
  7. Java Basic Level 6 〜Traning of If statement〜
  8. Java Basic Level8 〜How to use for statement〜
  9. Java Basic Level 8.5 〜Array〜
  10. Java Basic Level 9〜Training of for statement〜
  11. Java Basic Level 10 〜While statement 〜
  12. Java Basic Swing〜オブジェクト指向〜
  13. Java Basic Swing Level 2〜オブジェクト指向2〜
  14. サンプル実装〜コンソールゲーム〜
  15. Java Basic インターフェース・抽象クラスの作り方
  16. Java Basic クラスとは〜Step2_1〜
  17. Java Basic JUnit 〜テストスイートの作り方〜

Git関連

  1. Java Git clone in Eclipse 〜サンプルの取得〜
  2. Eclipse Gitリポジトリの取得 GitからソースをPullしよう〜
  3. IntelliJ IDEA GitGitリポジトリからクローン〜