自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

介紹JavaFX功能與Swing的關(guān)系

開發(fā) 后端
本文介紹JavaFX功能與Swing的關(guān)系,包括在Swing應(yīng)用中顯示JavaFX的圖性元素和在Swing程序中調(diào)用JavaFX是可行的。

JavaFX包含了許多強(qiáng)大的功能,它們都是Java SE不具備的,如圖表Charting,動畫,媒體播放,RSS/Atom等,于是程序員常常討論如何在Java中調(diào)用JavaFX功能。筆者文章純Java代碼調(diào)用JavaFX功能和JavaFX和Java之間的互操作性對此作過專題討論。在Stephen Chin的開源項(xiàng)目JFXtras***版本中, 提供了一個(gè)JavaFX的封裝類,可以在Swing應(yīng)用中顯示JavaFX的圖性元素(動畫,圖表等)。

這是個(gè)十分有用的功能,對廣大的Java(Swing)開發(fā)人員來說是個(gè)好消息。JFXtras的源代碼中包含了相關(guān)的演示程序(SceneToJComponentScene.fx和 SceneToJComponentTest.java)。我把這個(gè)程序修改了一下,以便說明問題。

  1. /*  
  2. *MyScene.fxhttp://www.javafxblogs.com  
  3. *@authorHenryZhang  
  4. */  
  5.  
  6. packageswingtest;  
  7.  
  8. importjavafx.scene.Scene;  
  9. importjavafx.scene.text.*;  
  10. importjavafx.scene.paint.*;  
  11. importjavafx.scene.shape.Rectangle;  
  12. importjavafx.animation.Timeline;  
  13. importjavafx.animation.KeyFrame;  
  14.  
  15. defw=500;  
  16. defh=400;  
  17.  
  18. publicclassMySceneextendsScene{  
  19. varxx=w/3;  
  20. varyy=h/2;  
  21. varrotate=0;  
  22. vartext="";  
  23. vartl=Timeline{  
  24. repeatCount:Timeline.INDEFINITE  
  25. keyFrames:[  
  26. KeyFrame{  
  27. time:70ms  
  28. action:function(){  
  29. text=JavaFXToSwingTest.tf.getText();  
  30. rotate=(rotate+5)mod360;  
  31. }  
  32. }  
  33. ]  
  34. }  
  35.  
  36. overridevarcontent=[  
  37. Rectangle{  
  38. width:w,height:h  
  39. fill:Color.BLUE  
  40. },  
  41. Text{  
  42. font:Font{  
  43. size:24  
  44. }  
  45. layoutX:bindxx  
  46. layoutY:bindyy  
  47. rotate:bindrotate  
  48. content:bindtext  
  49. fill:Color.YELLOW  
  50. }  
  51. ];  
  52.  
  53. init{tl.play();}  

1) 在上述程序中,我們用JavaFX的代碼去輪詢Java的變量值,實(shí)際中這會損失比較多的性能,所以我們可以從Java代碼中主動把數(shù)據(jù)變化通知JavaFX。這需要一種從Java調(diào)用javafx的技巧,可以參見本人文章:用Java代碼調(diào)用JavaFX功能。

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

【編輯推薦】

  1. 介紹JavaFX功能與Swing的關(guān)系
  2. 淺談Swing中l(wèi)ookandfeel源代碼
  3. 概述Swing中的Timer對象
  4. 淺析Swing中actionPerformed()方法
  5. 詳解所有的Swing核心組件
責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2009-12-17 13:52:06

Fedora 11功能

2009-07-14 16:07:59

調(diào)用JavaFX代碼Swing程序

2021-12-23 14:57:25

Nginx服務(wù)器虛擬主機(jī)

2009-07-10 14:41:57

Swing技術(shù)

2011-03-25 11:39:13

Nagios 功能Nagios 結(jié)構(gòu)

2009-07-10 13:36:32

Swing容器

2009-07-10 15:41:27

Swing AWT

2009-07-15 10:37:28

Swing外觀

2009-07-10 18:06:59

JTree Swing

2009-07-20 12:59:53

ASP.NET MVCASP.NET框架的功

2009-07-17 11:13:46

AWT和SwingSwing組件

2009-07-15 18:06:38

Swing線程

2010-07-05 13:19:36

2009-07-17 14:38:51

輕量級Swing組件

2009-07-15 10:23:51

Swing SWT集成

2009-11-26 10:09:46

VS2005智能感知

2009-07-14 14:00:47

iData技術(shù)

2009-07-15 10:52:13

JTree組件

2012-01-17 13:46:55

JavaSwing

2009-07-17 15:30:30

JFaceAWT和SWTSwing
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號