gpt4 book ai didi

java - 如何在 SwingX 中使用 MultiSplitLayout?

转载 作者:搜寻专家 更新时间:2023-11-01 01:56:07 25 4
gpt4 key购买 nike

我正在尝试使用 SwingX 中的 MultiSplitPane 和 MultiSplitLayout。我知道如何将 MultiSplitLayout 与方法 parseModel 一起使用(参见 http://today.java.net/pub/a/today/2006/03/23/multi-split-pane.html )。但是没有这种方法我不明白其中的机制。如何重现这个?

String layoutDef =
"(COLUMN (ROW weight=1.0 left (COLUMN middle.top middle middle.bottom) right) bottom)";
MultiSplitLayout.Node modelRoot = MultiSplitLayout.parseModel(layoutDef);

最佳答案

好吧,我终于自己找到了答案。您应该先看图片以理解代码。

Split column1 = new Split();
column1.setRowLayout(false);

Split row = new Split();

Split column2 = new Split();
column2.setRowLayout(false);

column2.setChildren(new Leaf("middle.top"), new Divider(), new Leaf(
"middle"), new Divider(), new Leaf("middle.bottom"));

row.setChildren(new Leaf("left"), new Divider(), column2,
new Divider(), new Leaf("right"));

column1.setChildren(row, new Divider(), new Leaf("bottom"));

// Once the layout is done, the code is easy
JXMultiSplitPane msp = new JXMultiSplitPane();
MultiSplitLayout layout = new MultiSplitLayout(column1);
msp.setLayout(layout);
msp.add(new JButton("bottom"), "bottom");
msp.add(new JButton("left"), "left");
msp.add(new JButton("right"), "right");
msp.add(new JButton("middle.bottom"), "middle.bottom");
msp.add(new JButton("middle"), "middle");
msp.add(new JButton("middle.top"), "middle.top");

看图理解代码背后的逻辑。 model og the layout
(来源:java.net)

关于java - 如何在 SwingX 中使用 MultiSplitLayout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8660687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com