簡述
使用 Gradle 構建 Java 工程時,沒有 JavaFx 的選項,所以需要自己添加。
注:此例程以一個串口調試助手爲例程,所以工程名爲 SerialAssistant
本工程源碼
Java串口調試助手
使用Gradle 構建Java 工程
在IntelliJ IDEA 中使用 Gradle
工程構建完成後如下:
添加 JavaFx 文件
如下,在資源文件夾下新建FXML File
文件
打開剛纔新建的文件,在紅圈部分有Text
及 Scene 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 ,終端將會打印輸入框中的文字。