開始在Linux上開發JavaFx程式
前言
不清楚什麼原因,網路上關於JavaFx的中文資料很少,並且都很老,所以建議大家有興趣學習JavaFx還是看官方文件比較好,而且貌似部分人不看好JavaFx。
關於Swing的資料倒是要多很多。我覺得挺奇怪的,從設計上來將,還是JavaFx高明一些嘛。
開始
開啟Idea,在一個普通的Java專案裡面,匯入javafx包是找不到的。
好像是Idea 在建立Java專案的時候預設不匯入JavaFx包,所以需要我們自己找到路勁並且匯入。
開啟 Project Structure,選擇SDKs,可以看到JDK路徑。

點選旁邊的 “+” 號,然後在 jdk 目錄下, /lib/ext
資料夾裡找到 jfxrt.jar
這個包,並且匯入,就OK啦~
HelloWorld
第一個程式從HelloWorld開始!
package lin.Learning.JavaFx; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.layout.StackPane; import javafx.stage.Stage; import javafx.scene.control.Label; public class HelloWorld extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) { Label label = new Label("the first label"); // 建立面板作為根節點 StackPane rootNode=new StackPane(); // 將label控制元件新增到根節點上 rootNode.getChildren().add(label); // 建立場景物件,指定根節點物件和大小 Scene scene=new Scene(rootNode,200,60); primaryStage.setTitle("Hello JavaFx"); // 將場景新增到舞臺中 primaryStage.setScene(scene); // 顯示舞臺 primaryStage.show(); } }
執行效果:

這樣就完成了在Linux系統上的第一個JavaFx程式開發了。
安裝 Scene Builder
JavaFx特色就是 View 和 Controller 分離,使用 fxml 寫介面佈局,並且 Oracle 提供了一款所見即所得的介面設計工具,不過要自己去安裝。
下載地址:
ofollow,noindex">https://www.oracle.com/technetwork/java/javase/downloads/javafxscenebuilder-1x-archive-2199384.html#javafx-scenebuilder-2.0-oth-JPR選擇對應系統的版本下載就行了,這裡我選擇的是Debian的deb安裝包。

關於 Scene Builder 的安裝,可以參照 oracle 的文件:
https://docs.oracle.com/javase/8/scene-builder-2/installation-guide/preface.htm#sthref2這裡摘一段文件,關於在Linux平臺安裝 Scene Builder的:
(Linux platform) Extract the Scene Builder 2.0 files from the javafx_scenebuilder-2_0-linux-<platform>.tar.gz to a directory on your local file system, or double-click the javafx_scenebuilder-2_0-linux-<platform>.deb file to open it with Ubuntu Software Center, where <platform> is either x64 or i586. By default, the Scene Builder application is installed at /opt/JavaFXSceneBuilder2.0/.
可以看到,Scene Builder的安裝目錄是: /opt/JavaFXSceneBuilder2.0/
那麼,接下來就要在IDEA中配置了。
IDEA配置
開啟設定

配置路徑

然後在我們的專案裡面新增一個 FXML 檔案。
右鍵就可以通過 Scene Builder 開啟啦,這個介面還不錯。

About

Learn more on my WeChat Official Account:DealiAxy
Every post was in my blog: blog.deali.cn