在IntelliJ IDEA 中使用 Gradle JavaFx

簡述

使用 Gradle 構建 Java 工程時,沒有 JavaFx 的選項,所以需要自己添加。
注:此例程以一個串口調試助手爲例程,所以工程名爲 SerialAssistant
本工程源碼
Java串口調試助手

使用Gradle 構建Java 工程

在IntelliJ IDEA 中使用 Gradle
工程構建完成後如下:
在這裏插入圖片描述

添加 JavaFx 文件

如下,在資源文件夾下新建FXML File 文件
在這裏插入圖片描述
打開剛纔新建的文件,在紅圈部分有TextScene Builder 兩個選項卡,Text 顯示是界面的描述,描述語言爲xml,Scene Builder 顯示的是預覽界面,當然也可在裏面編輯,想要什麼排版佈局,或者控件,直接拖拽出來就可以了。
在這裏插入圖片描述
將圖下圈起來部分拖至箭頭指向處
在這裏插入圖片描述
將Button 拖至界面空白處,也就是上一個動作拖出來的 AnchorPane面板上,使Button 的fxid 命名爲button,找到 On Action,在裏面填入 evenButton.
在這裏插入圖片描述
再用相同的方法拖拽出 TextField ,將該控件fxid命名爲 text,並且雙擊該控件,輸入HelloWold 然後回車。
在這裏插入圖片描述

添加 Java 類

按圖示新建 Java Class,然後在彈出框中選擇 JavaFXApplication
在這裏插入圖片描述
如圖
在這裏插入圖片描述
新建完成後顯示如圖
在這裏插入圖片描述

重新回到SerialAssistant.fxml文件中,選擇Text 顯示,如圖添加 fx:controller="SerialAssistant",如果已存在是不用添加的,SerialAssistant 就是剛纔新建Java 的類名,
在這裏插入圖片描述
下面標籤中有fx:id "button"fx:id="text"就是界面上拖拽的兩個控件名,onAction="#evenButton"是剛纔在界面上添加的button 的動作,將鼠標放在紅圈部分的 text上,按下 alt+enter 快捷鍵,彈出菜單,再按下enter 鍵
在這裏插入圖片描述
IDEA 便自動幫我們將 text 控件添加至 SerialAssistant 類中了。
在這裏插入圖片描述
使用相同的方法,將button 和evenButton 自動添加至 SerialAssistant 類中,完成後如下
在這裏插入圖片描述
最後將 SerialAssistant 類改成如下樣子

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.stage.Stage;

import java.io.IOException;

public class SerialAssistant extends Application {

    public Button button;
    public TextField text;

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

    @Override
    public void start(Stage primaryStage) {
        Parent root = null;
        try {
            root = FXMLLoader.load(getClass().getResource("SerialAssistant.fxml"));
            primaryStage.setTitle("SerialAssistant");
            primaryStage.setScene(new Scene(root));
            primaryStage.show();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public void evenButton(ActionEvent actionEvent) {
        System.out.println(text.getText());
    }
}

運行,點擊button ,終端將會打印輸入框中的文字。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章