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