JSplitPanel 中 Jpanel 的大小
SIze of Jpanel inside JSplitPanel
我试图将 JsplitPane
添加到我的 project.Requirement 中,我需要在 JSplitPane
的右面板中添加两个 Jpanel
。
所以我所做的是首先将 Jpanel
say it panel1
添加到右侧面板并设置 BoxLayout.Y-AXIS
然后在 panel1
.[=19 中添加两个面板=]
现在两个面板的第一个面板有 BoxLayout
,我希望这个面板的宽度为 panel1
,但我做不到。
有人知道怎么做吗?
I was trying to add JsplitPane
into my project.Requirement is i need
to add two Jpanel
inside right panel of JSplitPane
.
当使用 JSplitPane
时,我们应该记住它只将窗格分成两个部分,比如 Left 和 Right 或 Top 和 Bottom。因此,当我们再次想要在 JSplitPane
的一侧添加多个组件时,比如在我们的例子中 Right,最好使用 Nesting拆分窗格。这意味着在拆分窗格内创建拆分窗格。
so what i had done is first add Jpanel
say it panel1
to right panel
and set BoxLayout.Y-AXIS
and than add two panel inside panel1
.
now in that two panel first panel have BoxLayout
and i want the width
of this panel to be of size of panel1
but i am not able to do it.
如果您使用嵌套拆分窗格,您可能不必创建额外的父项JPanel
,如您所说panel1
。实际上,Split Pane 用于将 Pane 分成两部分。因此,通过使用 Nesting Split Panes,您正在创建另一个拆分窗格,而不是您创建的 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 上的这篇旧文章:
我试图将 JsplitPane
添加到我的 project.Requirement 中,我需要在 JSplitPane
的右面板中添加两个 Jpanel
。
所以我所做的是首先将 Jpanel
say it panel1
添加到右侧面板并设置 BoxLayout.Y-AXIS
然后在 panel1
.[=19 中添加两个面板=]
现在两个面板的第一个面板有 BoxLayout
,我希望这个面板的宽度为 panel1
,但我做不到。
有人知道怎么做吗?
I was trying to add
JsplitPane
into my project.Requirement is i need to add twoJpanel
inside right panel ofJSplitPane
.
当使用 JSplitPane
时,我们应该记住它只将窗格分成两个部分,比如 Left 和 Right 或 Top 和 Bottom。因此,当我们再次想要在 JSplitPane
的一侧添加多个组件时,比如在我们的例子中 Right,最好使用 Nesting拆分窗格。这意味着在拆分窗格内创建拆分窗格。
so what i had done is first add
Jpanel
say itpanel1
to right panel and setBoxLayout.Y-AXIS
and than add two panel insidepanel1
.now in that two panel first panel have
BoxLayout
and i want the width of this panel to be of size ofpanel1
but i am not able to do it.
如果您使用嵌套拆分窗格,您可能不必创建额外的父项JPanel
,如您所说panel1
。实际上,Split Pane 用于将 Pane 分成两部分。因此,通过使用 Nesting Split Panes,您正在创建另一个拆分窗格,而不是您创建的 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 上的这篇旧文章: