【问题标题】:How to use MultiSplitLayout in SwingX?如何在 SwingX 中使用 MultiSplitLayout?
【发布时间】:2012-01-29 10:45:12
【问题描述】:

我正在尝试使用 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);

【问题讨论】:

    标签: java swing swingx jxmultisplitpane


    【解决方案1】:

    好的,我终于自己找到了答案。你应该先看图看懂代码。

    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");
    

    图片理解代码背后的逻辑。
    (来源:java.net

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-11
      • 1970-01-01
      • 2014-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多