Как установить размер vbox для размера окна в javafx? - PullRequest
1 голос
/ 23 февраля 2012

Я использую JavaFX для пользовательского интерфейса. Как установить размер макета Vbox на размер окна?Я попробовал приведенный ниже код, но не смог просмотреть компоненты, добавленные в vbox.

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

Ответы [ 3 ]

6 голосов
/ 18 января 2017

Устанавливает VBOX на 80% ширины рабочей области:

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));
0 голосов
/ 29 января 2015

Вы можете использовать:

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

или

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

Подробнее здесь !

0 голосов
/ 24 февраля 2012
  1. Чтобы установить размер vBox на размер основного окна, просто добавьте его в сцену primaryStage.setScene(new Scene(vBox, 200, 200));
  2. Добавьте узлы в свой VBox, чтобы показать их внутри поля
    vBox.getChildren().add(label);

Попробуйте это пример :

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();
    }
}
...