您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關JavaFX功能與Swing的關系是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
JavaFX包含了許多強大的功能,它們都是Java SE不具備的,如圖表Charting,動畫,媒體播放,RSS/Atom等,于是程序員常常討論如何在Java中調用JavaFX功能。在Stephen Chin的開源項目JFXtras版本中, 提供了一個JavaFX的封裝類,可以在Swing應用中顯示JavaFX的圖性元素(動畫,圖表等)。
這是個十分有用的功能,對廣大的Java(Swing)開發人員來說是個好消息。JFXtras的源代碼中包含了相關的演示程序(SceneToJComponentScene.fx和 SceneToJComponentTest.java)。我把這個程序修改了一下,以便說明問題。
/* *MyScene.fxhttp://www.javafxblogs.com *@authorHenryZhang */ packageswingtest; importjavafx.scene.Scene; importjavafx.scene.text.*; importjavafx.scene.paint.*; importjavafx.scene.shape.Rectangle; importjavafx.animation.Timeline; importjavafx.animation.KeyFrame; defw=500; defh=400; publicclassMySceneextendsScene{ varxx=w/3; varyy=h/2; varrotate=0; vartext=""; vartl=Timeline{ repeatCount:Timeline.INDEFINITE keyFrames:[ KeyFrame{ time:70ms action:function(){ text=JavaFXToSwingTest.tf.getText(); rotate=(rotate+5)mod360; } } ] } overridevarcontent=[ Rectangle{ width:w,height:h fill:Color.BLUE }, Text{ font:Font{ size:24 } layoutX:bindxx layoutY:bindyy rotate:bindrotate content:bindtext fill:Color.YELLOW } ]; init{tl.play();} }
1) 在上述程序中,我們用JavaFX的代碼去輪詢Java的變量值,實際中這會損失比較多的性能,所以我們可以從Java代碼中主動把數據變化通知JavaFX。這需要一種從Java調用javafx的技巧,可以參見本人文章:用Java代碼調用JavaFX功能。
2) 在Swing程序中調用JavaFX是可行的,那么應該怎樣編譯和運行這樣的程序呢。其實,JavaFX功能也就是一些jar文件,因此和Java的結合方式還是比較簡單的。編譯的方法主要有兩種,一種就是用JavaFX 的編譯器javafxc來編譯Java和JavaFX的代碼。第二種就是用javafxc編譯JavaFX代碼,用javac編譯java代碼。運行程序的時候,我們可以選擇javafx或java命令即可。
看完上述內容,你們對JavaFX功能與Swing的關系是什么有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。