我的根UI对象是VBox,第一个子菜单是菜单栏。菜单栏添加在场景构建器中。设置场景并显示舞台后,我调用此功能。
menuBar.setPrefHeight(40.0);
我运行我的程序,高度为40.然后我将一个AnchorPane添加到我的根VBox并且它仍然是40.如果我调整窗口大小或者如果我删除旧的AnchorPane并添加一个新的高度变为32。我可以阻止这种情况发生吗?
这是我的代码,它构造了一个构建AnchorPane的对象
private void render(){
barHeight = menuBar.getHeight();
boxWidth = vBox.getWidth();
boxHeight = vBox.getHeight();
barHeight = menuBar.getHeight();
board = new Board(rc,rc,boxWidth,boxHeight-barHeight);
//dimensions of AnchorPane based on values passes to contructor above
board.build();
addPane();
这是我将AnchorPane添加到VBox的代码
private void addPane(){
anchorPane = board.getBoard();
if(vBox.getChildren().size() == 2){
vBox.getChildren().remove(1);
}
vBox.getChildren().add(anchorPane);
我也在使用ChangeListener接口,只要舞台的width或height属性发生变化,它就会重新渲染AnchorPane。我不相信这会造成任何问题。