Java的Swing應用中使用JavaFX的功能
JavaFX包含了許多強大的功能,它們都是Java SE不具備的,如圖表Charting,動畫,媒體播放,RSS/Atom等,於是程式設計師常常討論如何在Java中呼叫JavaFX的功能。筆者文章純Java程式碼呼叫JavaFX的功能和JavaFX和Java之間的互操作性對此作過專題討論。在Stephen Chin的開源專案JFXtras最新版本中, 提供了一個JavaFX的封裝類,可以在SWING應用中顯示JavaFX的圖性元素(動畫,圖表等)。這是個十分有用的功能,對廣大的Java(Swing)開發人員來說是個好訊息。JFXtras的原始碼中包含了相關的演示程式(SceneToJComponentScene.fx和 SceneToJComponentTest.java)。我把這個程式修改了一下,以便說明問題。
在上面程式碼MyScene.fx中, 我們定義了一個Timeline例項來播放動畫,在動畫中,我們不斷的使一行文字在視窗中旋轉。每隔70毫秒,都會觸發一次旋轉角度的變化(每次5度)。為了演示在JavaFX和Java中互動資料,我們在每次更新時,從Java的靜態變數中獲取資料,具體程式碼如下:
本"JavaFX for SWING"在視窗中央旋轉。如果你在輸入框中輸入新的句子,你會發現旋轉的文字也發生了改變。你可以點選以下截圖來啟動一個Java Web Start的演示程式(JDK1.5以上),或者可以點選這裡來觀看演示的視訊(需要有Windows Media Player)。
討論
1) 在上述程式中,我們用JavaFX的程式碼去輪詢Java的變數值,實際中這會損失比較多的效能,所以我們可以從Java程式碼中主動把資料變化通知JavaFX。這需要一種從Java呼叫javafx的技巧,可以參見本人文章:用Java程式碼呼叫JavaFX的功能 (http://www.javafxblogs.com/java-call-javafx-code/).
2) 在Swing程式中呼叫JavaFX是可行的,那麼應該怎樣編譯和執行這樣的程式呢。其實,JavaFX的功能也就是一些jar檔案,因此和Java的結合方式還是比較簡單的。編譯的方法主要有兩種,一種就是用JavaFX 的編譯器javafxc來編譯Java和JavaFX的程式碼。第二種就是用javafxc編譯JavaFX程式碼,用javac編譯java程式碼。執行程式的時候,我們可以選擇javafx或java命令即可,可以參見本人文章:JavaFX技巧:純Java程式碼呼叫JavaFX的例子的詳細說明。
文章轉自: http://javafxguy.iteye.com 作者:JavaFXGuy
相關文章
- 利用JavaFX功能豐富Swing應用程式Java
- javafx和swing巢狀使用的方法Java巢狀
- javafx 和swing_整合JavaFX和SwingJava
- 在Swing和Swt中使用JavaFXJava
- 在JavaFX程式中嵌入Swing內容Java
- 整合JavaFX和SwingJava
- java程式通過swing呼叫javaFx更新 資料Java
- Java的GUI框架如何選擇? Swing、SWT、AWT、SwingX、JGoodies、JavaFX、Apache Pivot?JavaGUI框架GoApache
- javafx內嵌為Swing程式淺析Java
- Java圖形化:Swing表格的使用Java
- Java Swing應用程式GUI視窗居中顯示JavaGUI
- 使用InstallAnyWhere 2009打包釋出Java Swing GUI應用程式JavaGUI
- JavaFX桌面應用-版本升級Java
- VBA中CopyFile 方法的功能及應用
- 用JavaFX構建部署Android應用JavaAndroid
- [Java Swing] 在mac中不顯示java的dock iconJavaMac
- 開發者應該避免使用的6個Java功能Java
- JavaFX: IntelliJ 開發 Window 應用JavaIntelliJ
- JavaFX桌面應用-構建程式框架Java框架
- JavaFX RIA企業應用簡要Java
- Windows下使用Graalvm將Javafx應用編譯成exeWindowsLVMJava編譯
- 堆在java中的應用--PriorityQueueJava
- sqlserver在JAVA中的應用 (轉)SQLServerJava
- Java中Lambda表示式的應用Java
- JavaFx ObservableList的使用詳解Java
- Java SwingJava
- 打算學GUI程式設計,SWING,javaFx,SWT怎麼選?GUI程式設計Java
- 借JavaFX之風,Swing終於熬到了出頭之日Java
- 在 Windows 和 Mac 的網頁上喚起 JavaFX 應用WindowsMac網頁Java
- 遊戲伺服器中JAVA的應用遊戲伺服器Java
- 創業公司中的Java高效應用創業Java
- 請問大家在java企業應用中功能url偽造如何防範的?Java
- MindFusion .NET控制元件教程:Charting for Java Swing中的FunctionSeries控制元件JavaFunction
- 簡單的list介面和edit介面使用java swing實現Java
- 用swing開發的專案
- Java反射全解析(使用、原理、問題、在Android中的應用)Java反射Android
- FORMS開發中FOLDER(資料夾)功能的應用ORM
- 詳解Python中sys模組的功能與應用Python