<可以運作但無法正確和ScenBuilder互動,無法解決>  建議不要用,太多問題要解決............

https://coolvsvs.pixnet.net/blog/post/224650365  建議閱讀我的這篇文章,改用Netbeans與Maven解決所有的問題,雖然有設定要處理但保證可以像JDK8一樣的開心使用。

 

1. 先安裝openJDK 

https://adoptopenjdk.net/?variant=openjdk11&jvmVariant=openj9  

直接用adopt openJDK就可以了

請選擇  open JDK11 ,執行環境可以選 HotSpot或openJ9都可以,HotSpot在需要大量CPU的情況下效能較佳,openJ9的記憶體管控較好

(註: 如果用oracle jdk會需要付費,不能使用在商業用途上)

安裝open JDK:

在Eclipse內安裝JavaFx14(openjdk+ja

這個地方選起來後就會自動設定Java_Home,可以輕鬆點

安裝完成請到cmd去,打上 java -version 確認安裝環境(原本已經有安裝別的JVM與JDK,使用這個安裝軟體後會自動幫變更,不需要再額外設定了)

使用openJDK 14 ,Eclipse在下載FX設定時有可能會安裝失敗,請安裝open jdk11,如果要在專案使用open jdk14+ javafx14,

請先 1.下載並安裝open jdk14,到 /控制台/系統/進階設定/環境參數,找到 Java_Home,複製裡面的路徑貼到筆記本內待用,

然後 2.下載並安裝 open jdk11 (總之運行環境必須是Jdk 11不然 Eclipse會出錯)

在Eclipse內安裝JavaFx14(openjdk+ja

確認安裝完之後,下載 javaFX14   https://openjfx.io/

然後下載用來編輯FXML用的Scence Builder  https://gluonhq.com/products/scene-builder/#download

然後下載 Eclipse   https://www.eclipse.org/downloads/

安裝好 ScenceBuilder,然後你可能會找不到他,請到windows的左下角查詢,收尋ScenceBuilder,開啟檔案位置,設置捷徑

安裝 Eclipse ,解壓縮JavaFx

打開Eclipse,它會自動抓取目前的JRE,然後他會請你設定workspace,workspace就是設定檔還有之後專案放置的位置

(如果要刪除Eclipse,請直接將資料夾移除,然後刪除workspace,這樣就會回到初始狀態,不然重新安裝也是會讀取到上一次的狀態)

接下來,要安裝Eclipse內的JavaFx插件,要注意的是,該下載也會同時下載舊版的javaFx,但沒有影響,我們只會使用FXML的部分

在Eclipse內安裝JavaFx14(openjdk+ja

改成黑色

在Eclipse內安裝JavaFx14(openjdk+ja

字體改大些

在Eclipse內安裝JavaFx14(openjdk+ja

等一下下載FX後如果有奇怪的JDK8 版本警告,在這邊可以關掉

在Eclipse內安裝JavaFx14(openjdk+ja

點開這裡下載

在Eclipse內安裝JavaFx14(openjdk+ja

請輸入 

名稱: e(fx)clipse  

URL:   https://download.eclipse.org/efxclipse/updates-released/3.6.0/site  

其實 https://download.eclipse.org/efxclipse/updates-released 連結到這邊後,可以選擇版本,然後可以組成上面的URL,該URL其實內部是一些XML的設定文字

接下來

在Eclipse內安裝JavaFx14(openjdk+ja

全部打勾並下載,下載時請注意 Eclipse右下角,會顯示安裝狀態,沒注意有可能會誤解為沒反應,下載好之後還會安裝,安裝後會要求重新開啟,就代表成功了

建立專案

在Eclipse內安裝JavaFx14(openjdk+ja

 

在Eclipse內安裝JavaFx14(openjdk+ja

設置 JDK14,請用search,然後把找到上面先準備好的JDK14路徑,在JDK最上層資料夾,直接讓系統收尋就會設定好了

在Eclipse內安裝JavaFx14(openjdk+ja

這時候,這邊請選中間,然後可以選擇JDK14,然後next

在Eclipse內安裝JavaFx14(openjdk+ja

這時候要載入Java FX 14,請選External JARS

在Eclipse內安裝JavaFx14(openjdk+ja

全部載入

在Eclipse內安裝JavaFx14(openjdk+ja

一定得打勾

在Eclipse內安裝JavaFx14(openjdk+ja

在Eclipse內安裝JavaFx14(openjdk+ja

在Eclipse內安裝JavaFx14(openjdk+ja

在Eclipse內安裝JavaFx14(openjdk+ja

如果之前忘記添加javaFx jar,這裡也可以,請在專案上面按右鍵,然後properties,到指定位置,點一下 library/modulepath就可以增加了

在Eclipse內安裝JavaFx14(openjdk+ja

點開module-info.java後,把該些模組都引入

在Eclipse內安裝JavaFx14(openjdk+ja

最後要加上exports package名稱;

module jfx02 {
    
    requires javafx.base;
    requires javafx.controls;
    requires javafx.fxml;
    requires javafx.graphics;
    requires javafx.media;
    requires javafx.swing;
    requires javafx.web;
    
    exports jfx02;//package名稱
}

在Eclipse內安裝JavaFx14(openjdk+ja

打開ScenceBuilder後,拖拉一個FXML,然後另存到專案路徑下,和Main放在一個位置

在Eclipse內安裝JavaFx14(openjdk+ja

右鍵,重置後就會看到剛剛的FXML了

為了方便起見,我們把Eclipse和ScenceBuilder做連結,

在Eclipse內安裝JavaFx14(openjdk+ja

以後FXML按右鍵就可以直接用ScenceBuilder開啟

接著打開Main.java

import javafx.application.*;

繼承 extends Application

覆寫 抽象方法     

在Eclipse內安裝JavaFx14(openjdk+ja

自動產生 start方法的覆寫

import javafx.fxml.FXMLLoader;
import javafx.scene.*;
import javafx.stage.Stage;

把程式碼改為下方。

 

package fx02;

import javafx.application.*;
import javafx.fxml.FXMLLoader;
import javafx.scene.*;
import javafx.stage.Stage;

public class Main extends Application{

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Application.launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        // TODO Auto-generated method stub
        Parent root =FXMLLoader.load(getClass().getResource("page01.fxml"));   //這裡必須改成你的fxml名稱,如果在不同資料夾需要給路徑
        primaryStage.setScene(new Scene(root));
        primaryStage.show();
        
                  
    }

}

執行~~ 成功囉

在Eclipse內安裝JavaFx14(openjdk+ja

OK

加載FXML

https://riptutorial.com/zh-TW/javafx/example/8804/%E5%B0%87%E6%95%B8%E6%93%9A%E5%82%B3%E9%81%9E%E7%B5%A6fxml----%E6%8C%87%E5%AE%9A%E6%8E%A7%E5%88%B6%E5%99%A8%E5%AF%A6%E4%BE%8B

 

 

創作者介紹
創作者 vsvs 的頭像
vsvs

vsvs

vsvs 發表在 痞客邦 留言(0) 人氣( 154 )