溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaFX功能與Swing的關(guān)系是什么

發(fā)布時間:2021-11-20 17:34:02 來源:億速云 閱讀:454 作者:柒染 欄目:編程語言

今天就跟大家聊聊有關(guān)JavaFX功能與Swing的關(guān)系是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

JavaFX包含了許多強(qiáng)大的功能,它們都是Java SE不具備的,如圖表Charting,動畫,媒體播放,RSS/Atom等,于是程序員常常討論如何在Java中調(diào)用JavaFX功能。在Stephen Chin的開源項目JFXtras版本中, 提供了一個JavaFX的封裝類,可以在Swing應(yīng)用中顯示JavaFX的圖性元素(動畫,圖表等)。

這是個十分有用的功能,對廣大的Java(Swing)開發(fā)人員來說是個好消息。JFXtras的源代碼中包含了相關(guān)的演示程序(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代碼中主動把數(shù)據(jù)變化通知JavaFX。這需要一種從Java調(diào)用javafx的技巧,可以參見本人文章:用Java代碼調(diào)用JavaFX功能。

2) 在Swing程序中調(diào)用JavaFX是可行的,那么應(yīng)該怎樣編譯和運行這樣的程序呢。其實,JavaFX功能也就是一些jar文件,因此和Java的結(jié)合方式還是比較簡單的。編譯的方法主要有兩種,一種就是用JavaFX 的編譯器javafxc來編譯Java和JavaFX的代碼。第二種就是用javafxc編譯JavaFX代碼,用javac編譯java代碼。運行程序的時候,我們可以選擇javafx或java命令即可。

看完上述內(nèi)容,你們對JavaFX功能與Swing的關(guān)系是什么有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI