实际上,您的网格窗格正在增长以填充其所有父级。考虑下面的
代码,为调试
目的,我在网格窗格中添加了背景色(红色)。
Accordion accordion = new Accordion();TitledPane titledPane = new TitledPane();titledPane.setText("Title");GridPane gridPane = new GridPane();gridPane.setStyle("-fx-background-color:red");gridPane.add(new textarea("Hello"), 0, 0);gridPane.add(new textarea("World"), 0, 1);titledPane.setContent(gridPane);accordion.getPanes().add(titledPane);如果执行此代码,
则网格窗格将填充其所有父对象(检查标题窗格内容中的红色范围)。
但是,网格窗格的内容不会填充所有列。如果您尝试
调整窗口的大小,您将看到文本区域的
宽度和网格面积没有变化。要解决此问题,您需要告诉
网格窗格的第一列与网格窗格本身一起增长。这样做的方法是添加
以下约束:
ColumnConstraints columnConstraints = new ColumnConstraints();columnConstraints.setFillWidth(true);columnConstraints.setHgrow(Priority.ALWAYS);gridPane.getColumnConstraints().add(columnConstraints);



