JavaFx入门基础:(在更)
免责声明:这篇文章仅仅代表个人观点,不保证最终的正确性,至少我个人实验时是正确的。一句话,一切仅供参考!
1.JavaFX:
熟悉几个概念:
0. 除了舞台和场景外,其他都可以称为节点Note。
1.Stage类(舞台)
:包:javafx.stage.Stage;舞台就是一个窗口,如果你用一个Stage对象.
编译器就会跳出来很多方法,但一般我们都需要记住3个最常用的:
.setTitle("")
,setScene(Scene对象)
,show()
;
2.Scene类(场景)
:包:javafx.scene.Scene;
注意:场景中不能直接加入任何Shape和ImageView,而且,一般使用控件——>面板(布局)——>场景 的使用格式,因为场景(Scene)只能加入一个控件或布局。就像比如规定你只能爱一个人或者爱一个组的美女,你肯定会把很多个人放进美女组,然后再去爱。
类似于:Pane mPane=new Pane(mButton1,mButton2,...); Scene mScene=new Scene(mPane,mX,mY);
可以加面板Pane+组Group+UI组件Control
3.Pane类(面板就是布局)以及它的6个子类
:包:javafx.scene.layout.Pane;
下面的函数中你会发现,有些面板(布局),并没有添加多个节点控件的函数,此时,你可以用下面的方法设置:
mPane.getchildren().add(节点控件1,2,3......)
.
——FlowPane类
(水平/垂直,一行/列一行/列的多行摆放):
数据域的get和set:(因为它们都是private数据)
1——hgap和vgap(设置水平、垂直间距,double数据)
2——orientation(设置方向:水平或垂直,对应两个常量)
3——alignment(设置对齐方式,默认Pos.LEFT,左对齐)
函数域:都是一些多态的构造函数,重要的函数:
1——FlowPane(水平间距,垂直间距)
2——FlowPane(指定一个方向orientation)
3——FlowPane(指定一个方向orientation,水平间距,垂直间距)
——
GridPane类
(网格式布局):
数据域的get和set:(因为它们都是private数据)
和上面的1、3一样,
2改成——gridLinesVisib(设置网格线是否可见,true,false)
函数域:
1——无参构造函数:
2——add(节点控件,column列,row行):添加一个节点控件到指定的列,行
3——addcolumn(column列,多个节点控件...):添加多个节点控件到指定的列,addRow(...)类同
4——set/get 设置/获取指定节点所在的行列坐标,你用对象点set/get即可看到。
——
BorderPane类
(上top,中center,下bottom,左left,右right 摆放,set/get即可):
——StackPane类
(覆盖式摆放):包:javafx.scene.layout.StackPane
——
HBox类
(水平,即单行):包:javafx.scene.layout.HBox;
——VBox类
(垂直,即单列):包:javafx.scene.layout.VBox;
数据域的get和set:(因为它们都是private数据)
1——fillHeight/fillWidth:是否自适应高度/宽度,默认true
2——spacing:水平/垂直间距
3——和最上面的3一样,设置子控件的对齐方式
函数域:
重要构造函数:VBox(所以子节点控件的间距)
setMargin(节点控件,间距):设置指定节点的边距
4.Group类(组)
:包:javafx.scene.Scene;
5.Control类(UI组件类)
:用的是它子孙类:
——Label类(文本图形标签)
——Button类(按钮)
——CheckBox类(复选框)
——RadioButton类(单选按钮)
——TextField类(文本域):继承与TextInutControl类经测试,默认情况下,new TextField(“ ”)只显示一行
注:数据域都是private的,所以对它们的引用需要set/get对应的函数:
数据域:父类的:text(字符串文本)和editable(能否编辑)
_______本类的:alignment(对齐方式),prefcolumnCount(首选列数),onAction(事件处理器
函数域:重要构造函数:TextField(文本字符串)
——TextArea类(文本域)
这个类可以输入多行,比上面那个好一点。但它们都是继承于同一个父类!
所以该类也继承父类有两个数据域:文本内容+文本是否可编辑
数据域:wrapText(是否自动换行),prefcolumn/RowCount(首选列/行数)
——ComboBox类(单选)
——ListView类(单选多选)
——ScrollBar类(滚动条选择范围值)
——Slider类(和上面类似)
6.Shape类(形状)
:画图,画文本等,用它的子类:
——Text类(画文本):Text(d:x,d:y," ")
——Line类(画线)
——Circle类(画圆)
——Ellipse类(画椭圆)
——Rectangle类(画矩形)
——Arc类
——Polygon类
——Polyline类
7.ImageView类(图像视图类)
:其中,Image类用于存放一个图像信息,ImageView类则显示出来:
Image myImage = new Image("image/myImage.gif");
ImageView myImageView = new ImageView(myImage);
也可以写成一句:
ImageView myImageView = new ImageView("image/myImage.gif");
其中,里面的字符串可以用URL(网址)形式!