我正在尝试将JsplitPane
添加到我的项目中。我需要在JSplitPane
的右面板内添加两个Jpanel
。
所以我做的是首先添加 Jpanel
将其 panel1
添加到右面板并设置BoxLayout.Y-AXIS
,而不是在panel1
中添加两个面板。
现在,在两个面板中,第一个面板具有BoxLayout
,我希望该面板的宽度大小为panel1
,但我无法做到。
有人知道该怎么做?
我试图将
JsplitPane
添加到我的项目中。我需要 要在JSplitPane
的右面板内添加两个Jpanel
。
使用JSplitPane
时,我们应该记住,它仅将窗格分为两个组成部分,即左右或或 top和botter 。因此,当我们再次想在JSplitPane
的一侧添加多个组件(在我们的情况 right 中)时,最好使用 nesting split panes 。这意味着在拆分窗格中创建拆分窗格。
所以我做的是首先添加
Jpanel
说它panel1
到右面板 并设置BoxLayout.Y-AXIS
,并在panel1
中添加两个面板。现在在两个面板中,第一个面板具有
BoxLayout
,我想要宽度 这个面板的大小为panel1
,但我无法做到。
如果使用嵌套拆分窗格,则可能不必创建额外的父 JPanel
您所说的 panel1
。实际上,分裂窗格用于将窗格分为两个部分。因此,通过使用嵌套拆分窗格,您将创建另一个拆分窗格,而不是用panel1
创建的内容,然后将两个子面板放入由New JSplitPane
创建的两个嵌套的两个窗格中。因此,您也不必考虑尺寸问题。希望我能使您清楚并解决您的问题。
通过使用:
实现这一目标的简单方法声明:
private JSplitPane jSplitPane1;
private JSplitPane jSplitPane2;
private JPanel jPanel1;
private JPanel jPanel2;
在构造函数中:
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://community.oracle.com/docs/doc-983539