2009-08-04 29 views
1

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

回答

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); 
+0

请注意最后一行。您将* LAST * splitPane添加到容器中,而不是像我那样首先添加,然后想知道为什么其他人不会出现。非常不明显。 – Bradjcox 2013-03-01 12:28:27