我在 java 中有一个简单的 MultiSplitPane。它有 1 行(拆分)和 2 个节点(叶子)。如何在现有行下添加另一行。
这是创建 MultiSplitPane 和 2 叶的代码:
List children =
Arrays.asList(new Leaf("left"),
new Divider(),
new Leaf("right"));
Split modelRoot = new Split();
modelRoot.setChildren(children);
MultiSplitPane multiSplitPane = new MultiSplitPane();
multiSplitPane.getMultiSplitLayout().setModel(modelRoot);
multiSplitPane.add(new JButton("Left Component"), "left");
multiSplitPane.add(new JButton("Right Component"), "right");
这就是我可以添加另一个叶子的方式,但我需要添加新的拆分(行):
Leaf newLeaf = new Leaf("newLeaf");
Split newSplit = (Split) multiSplitPane.getMultiSplitLayout().getModel();
java.util.List newList = new ArrayList();
newList.add(newLeaf);
newList.add(new Divider());
newList.addAll(newSplit.getChildren());
newSplit.setChildren(newList);
multiSplitPane.setModel(newSplit);
multiSplitPane.add(new JButton("new"), "newLeaf");
revalidate();