我在一个场景中有一个VBox作为root,这个VBox包含一个MenuBar和一个BorderPane。 我要知道的是,当窗口调整大小时,如何自动调整所有内容的大小(我猜只有vbox应该足够了)wideout将一个changelistener添加到scene.widthproperty属性。
提前致谢:)
答案 0 :(得分:0)
你可以试试这个黑客:
@Override
public void start(Stage primaryStage) throws Exception
{
//Get visible bounds of the screen
Rectangle2D screenbounds=Screen.getPrimary().getVisualBounds();
VBox root=new VBox();
//Set scene's size to maximum
Scene scene=new Scene(root,screenbounds.getWidth(),screenbounds.getHeight());
primaryStage.setScene(scene);
HBox one =new HBox(),two=new HBox();
one.setPrefSize(400,500);
two.setPrefSize(400,700);
one.setBackground(new Background(new BackgroundFill(Color.BLUE,null,null)));
two.setBackground(new Background(new BackgroundFill(Color.DARKORANGE,null,null)));
root.getChildren().addAll(one,two);
primaryStage.show();
}
使应用程序窗口使用所有可用的屏幕空间。当您垂直调整给定窗口的大小时,框将适当缩小。
您仍然需要设置首选的节点大小才能调整“自动”大小。