📜  JavaFX | HBox 类

📅  最后修改于: 2022-05-13 01:54:33.610000             🧑  作者: Mango

JavaFX | HBox 类

HBox 是 JavaFX 的一部分。 HBox 以水平列的形式布置其子项。如果 HBox 具有边框和/或填充集,则内容将在这些插图中布局。 HBox 类扩展了 Pane 类

类的构造函数:

  • HBox() :创建一个没有节点的 HBox 对象。
  • HBox(double s) :创建一个在节点之间有间距的 HBox。

常用方法:

MethodExplanation
getAlignment()Returns the value of property alignment.
getSpacing()Returns the spacing between its children.
setAlignment(Pos value)Sets the Alignment of the HBox.
getChildren()Returns the nodes in HBox.

下面的程序说明了 HBox 类的使用:

  1. 用于创建 HBox 并将其添加到舞台的Java程序:在此程序中,我们将创建一个名为hbox的 HBox。现在创建一个标签并将其添加到hbox 。我们还将创建一些按钮并使用getChildren().add()函数将它们添加到 HBox。现在创建一个场景并将 hbox 添加到场景中并将场景添加到舞台并调用show()函数以显示最终结果。
    // Java Program to create a HBox
    // 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;
      
    public class HBOX_1 extends Application {
      
        // launch the application
        public void start(Stage stage)
        {
      
            try {
      
                // set title for the stage
                stage.setTitle("HBox");
      
                // create a HBox
                HBox hbox = new HBox();
      
                // create a label
                Label label = new Label("this is HBox example");
      
                // add label to hbox
                hbox.getChildren().add(label);
      
                // add buttons to HBox
                for (int i = 0; i < 10; i++) 
                {
                    hbox.getChildren().add(new Button("Button " 
                                               + (int)(i + 1)));
                }
      
                // create a scene
                Scene scene = new Scene(hbox, 800, 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);
        }
    }
    

    输出:

  2. Java程序创建一个 HBox,在其元素之间添加空格并将其添加到舞台:在这个程序中,我们将创建一个名为hbox的 HBox。通过将空间的双精度值作为参数传递给构造函数来设置间距。现在创建一个标签并将其添加到hbox 。要向 HBox 添加一些按钮,请使用getChildren().add()函数。最后,创建一个场景并将hbox添加到场景中并将场景添加到舞台并调用show()函数以显示最终结果。
    // Java Program to create a HBox, add
    // spaces between its elements 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;
      
    public class HBOX_2 extends Application {
      
        // launch the application
        public void start(Stage stage)
        {
      
            try {
      
                // set title for the stage
                stage.setTitle("HBox");
      
                // create a HBox
                HBox hbox = new HBox(10);
      
                // create a label
                Label label = new Label("this is HBox example");
      
                // add label to hbox
                hbox.getChildren().add(label);
      
                // add buttons to HBox
                for (int i = 0; i < 5; i++) 
                {
                    hbox.getChildren().add(new Button("Button " 
                                              + (int)(i + 1)));
                }
      
                // create a scene
                Scene scene = new Scene(hbox, 800, 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);
        }
    }
    

    输出:

  3. Java程序创建一个 HBox,在其元素之间添加空格,设置对齐并将其添加到舞台:在这个程序中,我们将创建一个名为hbox的 HBox。通过将空间的双精度值作为参数传递给构造函数来设置间距。使用setAlignment()函数设置 HBox 的对齐方式。然后创建一个标签并将其添加到hbox 。使用getChildren().add()函数向 HBox 添加一些按钮。最后,创建一个场景并将hbox添加到场景中并将场景添加到舞台并调用show()函数以显示最终结果。
    // Java Program to create a HBox, add spaces
    // between its elements, set an alignment
    // 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.geometry.*;
      
    public class HBOX_3 extends Application {
      
        // launch the application
        public void start(Stage stage)
        {
      
            try {
      
                // set title for the stage
                stage.setTitle("HBox");
      
                // create a HBox
                HBox hbox = new HBox(10);
      
                // setAlignment
                hbox.setAlignment(Pos.CENTER);
      
                // create a label
                Label label = new Label("this is HBox example");
      
                // add label to hbox
                hbox.getChildren().add(label);
      
                // add buttons to HBox
                for (int i = 0; i < 5; i++) 
                {
                    hbox.getChildren().add(new Button("Button " 
                                              + (int)(i + 1)));
                }
      
                // create a scene
                Scene scene = new Scene(hbox, 800, 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/javafx/2/api/javafx/scene/layout/HBox.html