我有一个BorderPane(也是VBox和Rectangle),我想根据屏幕大小调整大小。我在14“和21”显示器上使用我的应用程序。有没有办法根据屏幕尺寸调整组件大小?
答案 0 :(得分:1)
我希望,我理解你:
Screen screen = Screen.getPrimary();
Rectangle2D bounds = screen.getVisualBounds();
//let the window use the left half screen:
stage.setX(bounds.getMinX());
stage.setY(bounds.getMinY());
stage.setWidth(bounds.getWidth() / 2);
stage.setHeight(bounds.getHeight());
VBox vBox = new VBox();
vBox.setStyle("-fx-background-color: blue;");
Rectangle rect = new Rectangle();
rect.setStyle("-fx-fill: red;");
vBox.getChildren().add(rect);
//not necessary, because always max size (root element of the scene):
//vBox.minWidthProperty().bind(stage.widthProperty());
//vBox.minHeightProperty().bind(stage.heightProperty());
rect.widthProperty().bind(vBox.widthProperty());
rect.heightProperty().bind(vBox.heightProperty().divide(3));
stage.setScene(new Scene(vBox));
stage.show();
如果您调整窗口大小,则Elements会自动调整它们的大小。