我将 TreeView 放置为 ScrollPane 的内容。 ScrollPane 放置在 SplitPane 内部。 当我拖动 SplitPane 的分隔线使其变得大于 TreeView 大小时,我看到 TreeView 的边框。 我希望在拖动 SplitPane 的分隔线后,根据可用空间调整 TreeView 的大小。我的代码:
SplitPane splitPane = new SplitPane();
splitPane.getItems().addAll(createTreeOfConnections());
private ScrollPane createTreeOfConnections() {
ScrollPane scrollPane = new ScrollPane();
scrollPane.setMinSize(100, 300);
scrollPane.setPrefSize(200, 500);
scrollPane.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
scrollPane.setVbarPolicy(ScrollBarPolicy.AS_NEEDED);
scrollPane.setHbarPolicy(ScrollBarPolicy.AS_NEEDED);
scrollPane.setContent(new ConnectionsTree(this));
return scrollPane;
类 ConnectionsTree 扩展了 TreeView ,其构造函数是:
public ConnectionsTree(MainStage mainStage) {
// here we set the root of ConnectionsTree which is not visible
super();
this.mainStage = mainStage;
root = new ConnectionTreeItem();
root.setExpanded(true);
super.setRoot(root);
super.setShowRoot(false);
super.setEditable(false);
super.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
super.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
retrieveExistentConnectionsNodes();
ContextMenu contextMenu = new ContextMenu(createNewConnectionMenuItem(
"New Connection", KeyCombination.valueOf("Ctrl+N")));
super.setContextMenu(contextMenu); }
如何告诉TreeView(我的TreeConnections)它应该占用SplitPane左侧部分的所有可用空间?
谢谢!
最佳答案
试试这个
scrollPane.setFitToHeight(true);
scrollPane.setFitToWidth(true);
关于java - 如何使 TreeView 调整大小与父 ScrollPane 一样多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19095117/