javafx初探一,ui控件的使用,具體內容如下
方式一:使用純代碼直接new view控件,這樣就不涉及到與fxml文件之間的交互了
方式二:使用fxml編寫界面文件,用可視化工具scene builder 來構建交互界面。
分兩種方式綁定控件,可以用android的方法在java中直接調用類似findviewbyid的方法,先在xml文件中設置fxid,然后根據id去找這個控件,代碼如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
@override public void start(stage primarystage) throws exception{ parent root = fxmlloader.load(getclass().getresource( "sample.fxml" )); borderpane borderpane = (borderpane)root.lookup( "#iiid" ); tableview tableview = new tableview(); tablecolumn columnname = new tablecolumn( "姓名" ); tablecolumn columclass = new tablecolumn( "班級" ); tablecolumn columnum = new tablecolumn( "學號" ); tableview.getcolumns().addall(columnname, columclass, columnum); borderpane.setcenter(tableview); primarystage.settitle( "應用測試" ); primarystage.setscene( new scene(root, 500 , 500 )); primarystage.show(); } |
方式二
同樣需要設置id,不過可以通過給每個控件設置一個控制器類的方式,去獲取控件實例,在fxml文件中增加控制類的聲明 fx:controller=”sample.controller”
注意:只能在根部局容器中才能設置這個控制器,設置好后,鼠標選中id 快捷鍵alt+enter 即可在對應的控制類中生成控件的對象(好像是根據注解映射來的)
控制器類也可以設置為main類,不用單獨新建一個類,根據情況定
1
2
3
4
5
6
7
8
|
<borderpane fx:id= "iiid" maxheight= "-infinity" maxwidth= "-infinity" minheight= "-infinity" minwidth= "-infinity" prefheight= "400.0" prefwidth= "600.0" xmlns= "http://javafx.com/javafx/8.0.121" xmlns:fx= "http://javafx.com/fxml/1" fx:controller= "sample.controller" > <top> <button fx:id= "button1" mnemonicparsing= "false" text= "按鈕1" borderpane.alignment= "center" /> </top> </borderpane> |
鼠標點擊事件可以在 on action中定義一個方法, 然后控制類中去實現這個方法,在該控件被點擊時就會被觸發。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/superman4933/article/details/81410858