JSplitPane的替代/改进

时间:2009-08-04 16:14:57

标签: swing layout jsplitpane

我有一个相当简单的对话框,其中包含一对大小相等的JPanel,包含在JSplitPane中。现在我正在考虑添加第三个JPanel,我不太确定有一个明显的解决方案。那里有一个很好的窗口对接框架吗?或者这是一个非常复杂的事情?如果我坚持使用3面板分割,我是否必须使用一对嵌套的JSplitPanes,或者是否存在允许3向分割的替代方案?

2 个答案:

答案 0 :(得分:5)

SwingX库有JXMultiSplitPane类,允许您创建可调整大小的面板的任何布局。

关于它的一篇非常好的文章是http://today.java.net/pub/a/today/2006/03/23/multi-split-pane.html

答案 1 :(得分:1)

假设你有三个小组:

JPanel panel1;
JPanel panel2;
JPanel panel3;

// set up panels
...

// put three panels into a horizontal split pane,
// with 2 resizeable dividers
JSplitPane splitPaneLeft = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
JSplitPane splitPaneRight = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
splitPaneLeft.setLeftComponent( panel1 );
splitPaneLeft.setRightComponent( panel2 );
splitPaneRight.setLeftComponent( splitPaneLeft );
splitPaneRight.setRightComponent( panel3 );

// put splitPaneRight onto a single panel
JPanel panelSplit = new JPanel();
panelSplit.add( splitPaneRight );