我试图将JsplitPane添加到我的project.Requirement中,我需要在JSplitPane的右面板中添加两个Jpanel。
因此,我所做的是首先添加Jpanel,将其称为panel1,将其设置为右面板,并设置BoxLayout.Y-AXIS,然后在panel1中添加两个面板。
现在,在两个面板中,第一个面板有BoxLayout,我希望这个面板的宽度是panel1大小,但是我做不到。
有人知道怎么做吗?
发布于 2016-12-23 11:53:55
我试图将
JsplitPane添加到我的project.Requirement中,我需要在JSplitPane的右面板中添加两个Jpanel。
在使用JSplitPane时,我们应该记住,它只将窗格划分为两个组件,如左和右,或者顶部和底部。因此,当我们再次希望在JSplitPane的单个方面中添加多个组件时,最好使用嵌套拆分窗格。这意味着在拆分窗格中创建拆分窗格。
因此,我所做的是首先添加
Jpanel,将其称为panel1,将其设置为右面板,并设置BoxLayout.Y-AXIS,然后在panel1中添加两个面板。 现在,在两个面板中,第一个面板有BoxLayout,我希望这个面板的宽度是panel1大小,但是我做不到。
如果使用嵌套拆分窗格,则可能不必创建额外的父JPanel (您所说的panel1 )。实际上,拆分窗格用于将窗格划分为两个段。因此,通过使用嵌套拆分窗格,您将创建另一个拆分窗格,而不是创建为panel1的窗格,然后将两个子面板放在由嵌套的新JSplitPane创建的两个窗格中。所以,你也不必考虑尺寸问题。我希望我能让你明白这解决了你的问题。
--通过使用:实现这一目标的简单方法
声明:
private JSplitPane jSplitPane1;
private JSplitPane jSplitPane2;
private JPanel jPanel1;
private JPanel jPanel2;在Constructor中:
jSplitPane1 = new JSplitPane();
jSplitPane2 = new JSplitPane();
jSplitPane1.setOrientation(JSplitPane.HORIZONTAL_SPLIT);
jSplitPane1.setRightComponent(jSplitPane2);
jSplitPane2.setOrientation(JSplitPane.VERTICAL_SPLIT);
jSplitPane1.setTopComponent(jPanel1);
jSplitPane1.setBottomComponent(jPanel2);以上描述的方法是最简单的实现您想要的。但是,如果不嵌套拆分窗格,就可以使用多个拆分窗格,这可能不太方便。尽管如此,您还是可以看看Oracle的这篇旧文章:
https://stackoverflow.com/questions/41298055
复制相似问题