Java:JavaFXプロジェクトFXMLファイル適用例

11175 ワード

レイアウトファイルと論理ファイルの分離
Scene Builderで編集できます
IDEAでのsceneビルダーの使用
プロジェクト構造
── src   
    ├── com
    │   └── company
    │       ├── Controller.java   #      
    │       ├── Main.java         #    
    │       └── sample.fxml       #     
    └── style
        └── main.css               #     


1、メインファイル入口ファイルMain.JAvaはレイアウトファイルsampleを導入する.fxml

package com.company;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;


public class Main extends Application {

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

    @Override
    public void start(Stage primaryStage) throws Exception {
         //         
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        Scene scene = new Scene(root);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

}

2、レイアウトファイルsample.fxml(1)コントローラクラスcom.company.controller(2)コントローラファイルをバインドする方法com.company.controller.clickButton(3)スタイルファイルstyle/main.cssを導入








<AnchorPane prefHeight="400.0" prefWidth="600.0" stylesheets="@../../style/main.css" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.company.Controller">
   <children>
      <Button layoutX="271.0" layoutY="165.0" mnemonicParsing="false" onAction="#clickButton" text="      " />
      <Label fx:id="label" layoutX="308.0" layoutY="126.0" />
   children>
AnchorPane>



3、Controller.JAvaコントローラファイル
package com.company;

import javafx.scene.control.Label;

public class Controller {
    public Label label;

    public void clickButton(){
        label.setText("      ");
        System.out.println("      ");
    }
}


4、スタイルcssファイルsrc/style/main.css
.label{
    -fx-text-fill: red;
}


パッケージjar
IDEAでの操作
1、構成:ツールバーをクリックしてProject Structure->Artifacts->+->JAR->From modules with dependencies mainメソッドのあるクラスを選択する
2、梱包:Build->Build artifacts
3、プログラムフォルダout/artifactsを実行中にjarファイルを生成し、ダブルクリックでjreがインストールされているMacとWindowsが正常に動作するように開く