Fx开发教程(二)

对于如何创建一个基础的Fx项目已经明白,那么我们应该如何设置一个布局呢?

1------布局类(javafx.scene.layout)

Fx程序所有涉及到布局的组件都是来自于layout类

2------常用组件

javafx.scene.layout.Region类,区域,范围的意思,是所有布局组件的父类

javafx.scene.layout.pane类,继承自Region类,是一类绝对布局控件,当我们将某控件放置于其中的时候,需要指定位置,拖拉拽可以自动生成; 一般情况下,我们都是使用Pane的子类

BorderPane:

            BorderPane提供了五个放置结点的区域:top、bottom、left、right、和 center;这些区域的大小是自定义的,如果不定义它,BorderPane就不回给该区域分配空间。默认情况下,如果窗口比所有区域所需空间还大,多余的空间将被分配给中间区域;如果窗口比所需空间小,区域可能会重叠;重叠是由区域设置的顺序决定的。

----------理解:由此可以知道BorderPane是是一个布局组件,其特性是会不满全局,然后根据布局得形态和比例来划分区域

HBox:

           HBox是一个水平的排列空间,不进行换行

VBox:

           VBox是一个垂直的排列空间,不进行换行

FlowPane:

           FlowPane综合类HBoxVBox的特点,既可以水平,也可以垂直排列

GridPane:

           GridPane类似于HTML的table布局

StackPane:

           总是布满父级布局,并且可以让放置于其中的控件共同拥有其全部空间,能够轻易地把控件居中。

在start()调用场景的代码中,每一个Pane类都具备了一个getChilden()获取该节点的所有孩子节点的功能!  JavaFX的一个场景中单独的元素叫节点(node),这些结点决定了JavaFX用分层次的树状结构来表示应用用户接口;它即能处理输入也能渲染输出(scene是每个JavaFX应用的起点,它是分层的结点树-FXML)除了根结点外,每一个节点都有一个父结点并且有0到多个子节点(在初始化一个scene时要给构造方法传递一个root结点)。

3-----常用用法:

BorderPane bp = new BorderPane();

bp.setPadding(new Insets(10, 20, 10, 20));

Button btnTop = new Button("Top");

bp.setTop(btnTop);

Scene scene = new Scene(bp, 300, 200);

primaryStage.setScene(scene);

primaryStage.show();

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

4------布局层次

关于舞台,我们可以设置对其关闭或者开启,主题,是否总在最顶端,是否充满整个页面,字体,是否最大宽或者最大高,最小宽,最小高等等。

一般情况下,在创建Scence()的时候同时也需要创建  "顶层节点" 也即是Node或者Parent。其中PParent包括PaneGroupControl等布局。而里面最常用的面板则主要是 FlowPaneGridPaneBorderPaneHBoxVBoxStackBox 使用得最为频繁!

Control其实是UI Control的简写(不过当然没有这个类 :-)

意思是:用户控制接口,就是提供相应的组件用来相应用户做出的动作

Control是一个抽象类,包括TextFieldButtonCheckBoxRadioButtonTextArea,它们都是Control的子类

Group群组:暂时无涉及

Shape

Shape全称javafx.scene.shape.Shape

Shape是一个抽象类

Shape包括LineCircleEllipseRectangleArcPolygonPolylineText,它们都是Shape的子类

ImageView

ImageView类用来演示/绘制一个具体的图像

可以通过构造方法创建一个Imageview对象,具体百度

猜你喜欢

转载自blog.csdn.net/qq_36505948/article/details/81508007
FX