【Java】JavaFx入门基础(在更):

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数据)
和上面的13一样,
2改成——gridLinesVisib(设置网格线是否可见,truefalse)

函数域:
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(网址)形式!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值