JAVA---FX
目錄
JavaFX 基礎介紹:
JavaFX的目的:
功能特性:
?JavaFX的架構設計構成和關聯的組件
整體結構:
?FlowPane流式布局:
BorderPane邊框布局:
JavaFX 基礎介紹:
JavaFX是用于構建富互聯網應用程序的Java庫。使用此庫編寫的應用程序可以跨多個平臺一致運行。使用JavaFX開發的應用程序可以在各種設備上運行,如臺式計算機,手機,電視,平板電腦等。要使用java編程語言開發GUI應用程序,程序員依賴于諸如高級窗口工具包(AWT)和Swings之類的庫。在JavaFX出現之后,這些java程序開發就可以有效地利用豐富的類庫來開發GUI應用程序。
JavaFX的目的:
JavaFX的FX是什么的縮寫的問題,雖然這不重要,但是從其用途和目的來看:
Fat-Client Extension:傳統方式下桌面應用,在Java中則是Swing的天下
Flash & Flex:JavaFX主要用于創建RIA應用,而這正是Flash的長項。
能不能取代Flash這里不談,作為技術的更新,替換Swing則還可能是一個可控制的方向。
功能特性:
FXML?:JavaFX應用中以XML為基礎的用戶接口標記語言,在JavaFA應用中體現為.fxml文件
Scene Builder?:可視的布局設計工具,用于給用戶提供拖拽方式的界面設計方式。
Swing Compatibility?: 在JavaFX應用中,可以嵌入Swing內容
CSS Styling: 可以使用CSS對應用進行渲染
豐富的API’s:提供豐富的API包括2D和3D圖形效果等。
Application是JavaFX程序的入口,任何JavaFX程序程序都要繼承該類并且重寫start方法通過main方法執行Application的launch()方法。
public class Main extends Application {public void start(Stage primaryStage) {}public static void main(String[] args) {launch(args);} }?JavaFX的架構設計構成和關聯的組件
如下圖所示,簡單說明如下:
JavaFX Public APIS and Scene Graph:進行整體接口功能與Scene特性的提供
Quantum toolkit:JavaFX高性能圖形化引擎
Glass Windowing toolkit:小型而搞笑的視窗化系統
Media engine:媒體引擎
Web engine:Web引擎
Java2D等:Java2D與OpenGL相關的圖形化功能支持
JavaFX應用利用JDK的API庫同時作為客戶端桌面應用,需要JVM的運行支持。
整體結構:
?Stage是一個主容器,或者說是舞臺,它就是我們通常所認為的窗口(有邊,高和寬,還有關閉按鈕)。在舞臺里面,我們可以放置一個Scene也就是場景,我們可以把Scene理解為子容器,當然也可以切換別的Scene,而在這個Scene里面,我們可以放置各種控件。
?
場景面板介紹:
布局面板需要和場景搭配使用,如果我們需要將內容顯示出來,就需要將內容放到內容對象中,同時也還需要將布局面板與一個場景綁定在一起,再把場景綁定到舞臺中,就完成顯示了。
舞臺(Stage)包含場景(Scene),場景與布局綁定,布局中可以放入多個控件
?FlowPane流式布局:
是頁面中元素的寬度按照屏幕分辨率自動進行適配調整,也就是我們常說的適配,它可以保證當前屏幕分辨率發生改變的時候,頁面中的元素大小也可以跟著改變,所以流式布局是移動端開發常用的一種布局.其他布局方式后面再做總結.
FlowPane flowpane =new FlowPane();構建了布局之后,我們可以往里面放入對應的組件。
需要注意的是,該布局中可以放入任意多個控件,所以該布局內部使用了List集合來存放多個控件。
flowpane.getChildren()//子元素集合,這是一個List集合,其中存放了該布局下所有的控件
如果想要把一個控件給到該布局,簡單來說就是將控件加入該子元素集合:
BorderPane邊框布局:
該布局有頂部,底部,左,右與中心區域的五個區域,每個區域只能有一個節點。
注意:組件都在javafx.scene.control包里面,切記不要導錯包
控件介紹
Label 文本標簽
Label label=new label("文本標簽");
TextField 輸入框
TextField textField=new TextField("請輸入你的用戶名");
PasswordField 密碼輸入框
PasswordField pwd = new PasswordField();
Button 按鈕?
Button button =new Button("按鈕");
總結
- 上一篇: 原创wallpaper Engine冷高
- 下一篇: qt获取网卡流量_智能手机变成台式电脑的