此外,一个非常简单的基于 an 的技巧AnchorPane
将是一个很好的解决方案。
我们将把它包装TableView
成一个AnchorPane
,但我们也会像这样锚定左右两侧TableView
:
AnchorPane wrapper = new AnchorPane();
AnchorPane.setRightAnchor(table, 10.0);
AnchorPane.setLeftAnchor(table, 10.0);
wrapper.getChildren().add(table);
这个简单的代码也将TableView
在两个方向(左右)拉伸,它会在添加滚动条时进行调整。
观看此动画 gif,您可以了解其工作原理。
现在您可以调整列的大小,添加以下行:
fnColumn.setMaxWidth( 1f * Integer.MAX_VALUE * 30 ); // 30% width
lnColumn.setMaxWidth( 1f * Integer.MAX_VALUE * 40 ); // 40% width
emColumn.setMaxWidth( 1f * Integer.MAX_VALUE * 30 ); // 30% width