首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Java中向MultiSplitPane添加新的拆分(行)?

如何在Java中向MultiSplitPane添加新的拆分(行)?
EN

Stack Overflow用户
提问于 2012-09-06 16:40:36
回答 1查看 863关注 0票数 0

我在java中有一个简单的MultiSplitPane。它有一个行(分裂)和两个节点(叶)在其中。如何在现有行下添加另一行。

下面是创建MultiSplitPane和2的代码:

代码语言:javascript
复制
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");

这是我可以添加另一个叶子的方法,但是我需要添加新的拆分(行):

代码语言:javascript
复制
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();
EN

回答 1

Stack Overflow用户

发布于 2012-10-14 03:40:50

如果要使用第二次拆分,可以执行以下操作:

  • 创建两个组件,将其放入第二个拆分中。
  • 制作将链接上述组件的叶片。
  • 创建一个新的子列表,表示拆分的结构。
  • 创建拆分并将其子表设置为上面的列表。

这是最简单的部分。现在,关键是:

  • 将第二次拆分添加到第一次拆分的子列表中。注意,您可能必须在第二个拆分之前向第一个拆分的子列表中添加一个分隔符!
  • 为你的第一次分裂打电话"setChildren“。据我所知,你必须在修订了拆分的孩子名单后才这样做。
  • 不要忘记将组件实际添加到MultiSplitPane中,并为MultiSplitPane调用“重新验证”。

看看this sample code.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12304598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档