JavaFX |团体课
组类是 JavaFX 的一部分。一个组包含节点的数量。一个组将承担其子级的集体边界,并且不能直接调整大小。组类继承父类。
类的构造函数:
- Group() :构造一个新组。
- 组(集合
孩子们) :构造具有指定节点的新组。 - Group(Node... c) : 构造一个具有指定节点的新组。
常用方法:
Method | Explanation |
---|---|
getChildren() | Returns the children of the group. |
isAutoSizeChildren() | Gets the value of the property autoSizeChildren. |
minHeight(double width) | Returns the node’s minimum height for use in layout calculations. |
minWidth(double height) | Returns the node’s minimum width for use in layout calculations. |
prefHeight(double width) | Group defines the preferred height as simply being the height of its layout bounds. |
prefWidth(double height) | Group defines the preferred width as simply being the width of its layout bounds. |
setAutoSizeChildren(boolean v) | Sets the value of the property autoSizeChildren. |
下面的程序说明了 Group 类的使用:
- 创建组并将其添加到舞台的Java程序:在此程序中,我们创建一个名为label的 Label 和一个名为circle的 Circle。现在创建一个组名组,并使用getChildren().add()函数为其添加标签和圆圈。创建一个场景并将组添加到场景中。将场景添加到舞台并显示舞台以查看最终结果。
// Java Program to create a Group // and add it to the stage import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.stage.Stage; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.canvas.*; import javafx.scene.web.*; import javafx.scene.Group; import javafx.scene.shape.*; public class Group_1 extends Application { // launch the application public void start(Stage stage) { try { // set title for the stage stage.setTitle("Group"); // create a Group Group group = new Group(); // create a label Label label = new Label("this is Group example"); // add label to group group.getChildren().add(label); // circle Circle c = new Circle(100, 100, 30); // add Circle to Group group.getChildren().add(c); // create a scene Scene scene = new Scene(group, 400, 300); // set the scene stage.setScene(scene); stage.show(); } catch (Exception e) { System.out.println(e.getMessage()); } } // Main Method public static void main(String args[]) { // launch the application launch(args); } }
输出:
- 创建组的Java程序,将 auto resize 设置为 true 并将其添加到舞台:在这个程序中,我们创建了一个名为label的 Label 和一个名为circle的 Circle。然后我们将创建一个组名组,并使用getChildren().add()函数为其添加标签和圆圈。使用setAutoSize()函数将自动大小子项设置为 true。创建一个场景并将组添加到场景中。将场景添加到舞台并显示舞台以查看最终结果。
// Java Program to create a Group, // set auto resize to true // and add it to the stage import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.stage.Stage; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.canvas.*; import javafx.scene.web.*; import javafx.scene.Group; import javafx.scene.shape.*; public class Group_2 extends Application { // launch the application public void start(Stage stage) { try { // set title for the stage stage.setTitle("Group"); // create a Group Group group = new Group(); // create a label Label label = new Label("this is Group example"); // add label to group group.getChildren().add(label); // circle Circle c = new Circle(50, 50, 30); // set auto resize group.setAutoSizeChildren(true); // add Circle to Group group.getChildren().add(c); // create a scene Scene scene = new Scene(group, 400, 300); // set the scene stage.setScene(scene); stage.show(); } catch (Exception e) { System.out.println(e.getMessage()); } } // Main Method public static void main(String args[]) { // launch the application launch(args); } }
输出:
注意:上述程序可能无法在在线 IDE 中运行。请使用离线编译器。
参考: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/Group.html