如何在javafx中将vbox大小设置为窗口大小?

时间:2012-02-23 06:32:39

标签: javafx-2

我正在使用JavaFX for UI。如何将Vbox布局的大小设置为窗口大小? 我尝试了以下代码,但无法查看在vbox中添加的组件。

    VBox vbox = new VBox();
    vbox.setPadding(new Insets(10, 10, 10, 10));  
    vbox.setSpacing(10);

3 个答案:

答案 0 :(得分:6)

这会将舞台宽度的80%设置为VBOX:

Stage window = PrimaryStage;
VBox layout = new VBox(10);
//multiply to set size (0.80 is like 80% of the window)
layout.prefWidthProperty().bind(window.widthProperty().multiply(0.80));

答案 1 :(得分:-3)

  1. 要将vBox大小设置为主窗口的大小,只需将其添加到场景中即可 primaryStage.setScene(new Scene(vBox, 200, 200));
  2. 将节点添加到VBox以在框内显示它们 vBox.getChildren().add(label);
  3. 试试这个示例

    package javafxapplication1;
    
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.Label;
    import javafx.scene.layout.StackPane;
    import javafx.scene.layout.VBox;
    import javafx.stage.Stage;
    
    public class JavaFXApplication1 extends Application {
    
        public static void main(String[] args) {
            launch(args);
        }
    
        @Override
        public void start(Stage primaryStage) {
            VBox vBox = new VBox();
            vBox.setStyle("-fx-background-color: #ABABAB");
    
            Label label = new Label("Test");
    
            vBox.getChildren().add(label); //Add new node to vBox
    
            primaryStage.setScene(new Scene(vBox, 200, 200)); //Add vbox to scene
            primaryStage.show();
        }
    }
    

答案 2 :(得分:-5)

您可以使用:

VBox vbox = new VBox();
vbox.setPrefWidth(400);// prefWidth
vbox.setPrefHeight(500);// prefHeight

VBox vbox = new VBox();
vbox.setPrefSize(400, 500);// prefWidth, prefHeight

了解更多here