最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JAVA項目swing轉(zhuǎn)javafx語法規(guī)則以及示例代碼

 更新時間:2025年12月04日 11:28:20   作者:賈斯珀  
這篇文章主要介紹了JAVA項目swing轉(zhuǎn)javafx語法規(guī)則以及示例代碼的相關(guān)資料,文中詳細(xì)講解了主類繼承、窗口創(chuàng)建、布局管理、控件替換、事件監(jiān)聽、線程安全、圖標(biāo)設(shè)置、顯示窗口等內(nèi)容,需要的朋友可以參考下

Java Swing → JavaFX 項目遷移時,語法/API 的轉(zhuǎn)換規(guī)則幾乎是“一對一可查表”的。下面把你 90% 會碰到的轉(zhuǎn)換直接列成表格,照著改就行,基本不需要動邏輯。

Swing(舊)JavaFX(新)轉(zhuǎn)換規(guī)則 + 備注
主類繼承
extends JFrameextends Application必須重寫 start(Stage primaryStage)
窗口創(chuàng)建
new JFrame(“標(biāo)題”)new Stage() + primaryStage.setTitle(“標(biāo)題”)JavaFX 用 Stage 代替 JFrame
frame.setDefaultCloseOperation(EXIT_ON_CLOSE)primaryStage.setOnCloseRequest(e -> System.exit(0))或直接不寫,默認(rèn)關(guān)閉就是退出
布局管理器
BorderLayoutBorderPaneTop / Bottom / Left / Right / Center
FlowLayoutFlowPane / HBox / VBoxHBox 橫排,VBox 豎排
GridLayoutGridPane最常用,行列靈活
BoxLayoutVBox / HBox基本一樣
CardLayoutStackPane + TabPane / ToggleButton + visibility推薦用 TabPane 或自己用 setVisible() 控制
常用控件
JButtonButtonAPI 幾乎一樣
JLabelLabel一樣
JTextFieldTextField一樣
JPasswordFieldPasswordField一樣
JTextAreaTextArea一樣
JCheckBoxCheckBox一樣
JRadioButtonRadioButton + ToggleGroup必須加 ToggleGroup 實現(xiàn)單選
JComboBoxComboBox一樣,但泛型更強
JListListView一樣
JTableTableView + TableColumn最大差異!需要定義實體類 + PropertyValueFactory
JScrollPaneScrollPane用法一樣
JMenuBar / JMenu / JMenuItemMenuBar / Menu / MenuItem基本一樣
JFileChooserFileChooserAPI 略有不同,但功能一致
JDialogStage + Modality模態(tài)對話框用 new Stage(StageStyle.UTILITY) + initModality(Modality.APPLICATION_MODAL)
事件監(jiān)聽
button.addActionListener(e -> …)button.setOnAction(e -> …)完全一致,只是方法名改了
線程安全(更新 UI)
SwingUtilities.invokeLater(() -> …)Platform.runLater(() -> …)必須記??!JavaFX 所有 UI 操作都要在 JavaFX 線程里
啟動方式
public static void main(String[] args) { new MyFrame().setVisible(true); }public static void main(String[] args) { Application.launch(MyApp.class, args); }必須調(diào)用 Application.launch(),不能自己 new
圖標(biāo)
frame.setIconImage(img)primaryStage.getIcons().add(new Image(“icon.png”))路徑可以是 classpath 里的資源
字體、顏色、邊距
基本都一樣但 JavaFX 更推薦用 CSS-fx-font-size: 14px; -fx-text-fill: red; 寫在 style 或外部 css 文件
顯示窗口
frame.setVisible(true)primaryStage.show()注意是 show(),不是 setVisible

最常用的“一行換一行”速查表(直接全局替換)

你原來的 Swing 代碼替換成 JavaFX 代碼(復(fù)制粘貼)
new JFrame()primaryStage
setTitle(“xxx”)primaryStage.setTitle(“xxx”)
setSize(800,600)primaryStage.setWidth(800); primaryStage.setHeight(600)
setLocationRelativeTo(null)primaryStage.centerOnScreen()
setDefaultCloseOperation(EXIT_ON_CLOSE)// JavaFX 默認(rèn)就是退出
add(button)pane.getChildren().add(button) (根據(jù)具體布局)
setLayout(new BorderLayout())root = new BorderPane()
JPanelPane / Region / VBox / HBox
pack()// JavaFX 一般不用,布局自動計算

實際轉(zhuǎn)換示例(JFrame → JavaFX)

// Swing 舊代碼
public class MainFrame extends JFrame {
    public MainFrame() {
        setTitle("學(xué)生管理系統(tǒng)");
        setSize(900, 600);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        add(new MainPanel());
        setLocationRelativeTo(null);
        setVisible(true);
    }
    public static void main(String[] args) {
        new MainFrame();
    }
}
// JavaFX 新代碼(只需改這幾行)
public class MainApp extends Application {
    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("學(xué)生管理系統(tǒng)");
        primaryStage.setWidth(900);
        primaryStage.setHeight(600);
        primaryStage.setScene(new Scene(new MainPanel()));
        primaryStage.centerOnScreen();
        primaryStage.show();
    }
    public static void main(String[] args) {
        launch(args);  // 必須這一行
    }
}

遷移建議順序(最快最不踩坑)

  1. 先把 JFrame 主類改成繼承 Application,實現(xiàn) start(Stage)
  2. 把所有 JPanel 改成 BorderPane / VBox(推薦從上到下用 VBox 搭積木式布局)
  3. 全局替換 add(getChildren().add(
  4. 所有事件監(jiān)聽 addActionListenersetOnAction
  5. 所有 SwingUtilities.invokeLaterPlatform.runLater
  6. 最后處理 JTableTableView(最麻煩的一步,建議最后干)

總結(jié) 

到此這篇關(guān)于JAVA項目swing轉(zhuǎn)javafx語法規(guī)則以及示例代碼的文章就介紹到這了,更多相關(guān)JAVA swing轉(zhuǎn)javafx語法規(guī)則內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot 如何從配置文件讀取值到對象中

    SpringBoot 如何從配置文件讀取值到對象中

    這篇文章主要介紹了SpringBoot 如何從配置文件讀取值到對象中,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java Swing SpringLayout彈性布局的實現(xiàn)代碼

    Java Swing SpringLayout彈性布局的實現(xiàn)代碼

    這篇文章主要介紹了Java Swing SpringLayout彈性布局的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Spring Security添加二次認(rèn)證的項目實踐

    Spring Security添加二次認(rèn)證的項目實踐

    在用戶自動登錄后,可以通過對密碼進行二次校驗進而確保用戶的真實性,本文就來介紹一下Spring Security添加二次認(rèn)證的項目實踐,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • 如何在SpringBoot+Freemarker中獲取項目根目錄

    如何在SpringBoot+Freemarker中獲取項目根目錄

    這篇文章主要介紹了如何在SpringBoot+Freemarker中獲取項目根目錄的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 如何在 Spring Boot 中實現(xiàn) FreeMarker 模板

    如何在 Spring Boot 中實現(xiàn) FreeMarker 模板

    FreeMarker 是一種功能強大、輕量級的模板引擎,用于在 Java 應(yīng)用中生成動態(tài)文本輸出(如 HTML、XML、郵件內(nèi)容等),本文給大家介紹在 Spring Boot 中實現(xiàn) FreeMarker 模板的示例,感興趣的朋友一起看看吧
    2025-04-04
  • MyBatisPlus項目的創(chuàng)建和使用

    MyBatisPlus項目的創(chuàng)建和使用

    本文介紹了MyBatis-Plus的基本使用方法,包括項目的創(chuàng)建和配置、增刪查改操作、日志打印以及條件構(gòu)造器的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • Java中字符編碼問題的解決方法詳解

    Java中字符編碼問題的解決方法詳解

    在日常 Java 開發(fā)中,字符編碼問題是一個非常常見卻又特別容易踩坑的地方,這篇文章就帶你一步一步看清楚字符編碼的來龍去脈,并結(jié)合可運行的代碼,看看如何在 Java 項目里徹底解決編碼不一致的問題
    2025-09-09
  • 基于SpringBoot整合SSMP案例(開啟日志與分頁查詢條件查詢功能實現(xiàn))

    基于SpringBoot整合SSMP案例(開啟日志與分頁查詢條件查詢功能實現(xiàn))

    這篇文章主要介紹了基于SpringBoot整合SSMP案例(開啟日志與分頁查詢條件查詢功能實現(xiàn)),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋參考下吧
    2023-11-11
  • IDEA中實現(xiàn)springboot熱部署方式

    IDEA中實現(xiàn)springboot熱部署方式

    在IDEA中實現(xiàn)SpringBoot的熱部署可以通過修改設(shè)置來完成,首先在設(shè)置中搜索Compiler,并勾選Build project automatically,然后進入Advanced Settings,勾選Allow auto-make to start even if developed application is currently running
    2024-09-09
  • springboot項目如何按天分割日志

    springboot項目如何按天分割日志

    本文介紹了在SpringBoot項目中使用Logback實現(xiàn)日志按天滾動的配置方法,包括配置文件的設(shè)置、高級配置優(yōu)化以及實踐中需要注意的事項,通過合理配置,可以有效地管理日志文件,便于系統(tǒng)運維和故障排查
    2026-01-01

最新評論

宜黄县| 乡宁县| 敦煌市| 尼玛县| 商丘市| 丹阳市| 临城县| 开封市| 胶州市| 曲靖市| 尖扎县| 海原县| 石林| 福安市| 尉犁县| 邯郸县| 会宁县| 延吉市| 兰考县| 房产| 庄浪县| 深水埗区| 饶河县| 桦川县| 洛浦县| 齐齐哈尔市| 临潭县| 资中县| 大石桥市| 高安市| 阆中市| 山阳县| 江都市| 阿荣旗| 合山市| 金秀| 贵州省| 双江| 特克斯县| 辽源市| 原阳县|