JavaFX Group组件

时间:2020-01-09 10:36:37  来源:igfitidea点击:

JavaFX Group组件是一个容器组件,不对其子代应用任何特殊布局。所有子组件(节点)都位于0,0处。 JavaFX Group组件通常用于对一组控件整体进行某种效果或者转换。如果我们需要为组中的子级添加一些布局,请将它们嵌套在布局组件中,然后将布局组件添加到组中。 JavaFX Group组件由类javafx.scene.Group表示。

建立一个组

我们可以通过其构造函数创建一个JavaFXGroup实例。这是一个JavaFXGroup实例化示例:

Group group = new Group();

将组件添加到组

我们可以通过获取JavaFXGroup的子级列表并将子级添加到该列表中来将组件添加到JavaFXGroup中。这是将子级添加到JavaFXGroup的示例:

Button button1 = new Button("Button Number 1");
Button button2 = new Button("Button 2");

Group group = new Group();

group.getChildren().add(button1);
group.getChildren().add(button2);

向场景图添加组

为了使JavaFXGroup实例可见,必须将其添加到JavaFX场景图。这意味着将" Group"实例添加到" Scene"对象中,或者将" Group"实例添加到布局组件中,然后再将其添加到" Scene"对象中。

这是将JavaFXGroup实例添加到JavaFX场景图的示例:

package com.Hyman.javafx.layouts;

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;

public class GroupExperiments extends Application  {

    @Override
    public void start(Stage primaryStage) throws Exception {
        primaryStage.setTitle("HBox Experiment 1");

        Button button1 = new Button("Button Number 1");
        Button button2 = new Button("Button 2");

        Group group = new Group();

        group.getChildren().add(button1);
        group.getChildren().add(button2);

        Scene scene = new Scene(group, 200, 100);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        Application.launch(args);
    }
}

运行上面的代码所产生的应用程序将类似于以下内容:

如我们所见,这两个按钮位于彼此的顶部,因为这两个按钮都位于"组"组件内的0,0处。