我有一个TabPane
,其中包含两个Tab
,并在FXML
中设置。在初始化时,我动态地将AnchorPane
添加到Tab
之一。然后我将ListView
设置为AnchorPane
:
AnchorPane questionPane = new AnchorPane();
questionPane.setId("questionPane");
ListView questionList = new ListView();
questionPane.getChildren().add(questionList);
这完全没问题。出于调试目的,我为AnchorPane
提供了橙色背景(通过CSS
),当我现在调整窗口大小时,AnchorPane
得到的内容按预期调整大小。
但是,只要我将以下代码添加到代码中,AnchorPane
只能增长并且不再缩小,导致我的窗口超大:
questionList.prefWidthProperty().bind(questionPane.widthProperty());
任何人都可以解释一下,为什么这一行打破了AnchorPane
答案 0 :(得分:1)
很可能你没有指定ListView的锚定:
AnchorPane.setBottomAnchor(questionList , 8.0);
AnchorPane.setRightAnchor(questionList , 5.0);
AnchorPane.setTopAnchor(questionList , 8.0);
AnchorPane.setLeftAnchor(questionList , 5.0);
不再需要绑定。