是否可以在框架内并排放置两个网格布局?

时间:2014-08-14 13:06:27

标签: java gridbaglayout

我正在使用一个名为MFrame的扩展JFrame类来初始化两个扩展JPanel的对象。一个JPanel有一个名为ButtonPanel的按钮,另一个有一个通过读取XML文件生成的树,名为TreePanel。我想将它们放在两个单独的类中,因为我将添加许多功能,我希望尽可能减少它们。

在ButtonPane和TreePanel中,gridbag用于建立布局。我试图在同一个JFrame中显示它们,但最后添加的是最后一个,通过ex。 this.add(ButtonPanel),掩盖了它背后的JPanel类。

有没有人能够在JFrame中并排显示两个带有Gridbag的JPanel类?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

以下是:

  • 创建一个MPanel并将其添加到MFrame
  • 将其布局设置为BoxLayout(在您的情况下为水平)
  • 添加TreePanel和ButtonPanel MPanel

您必须添加一个Panel,因为JFrame的默认值为BorderLayout,因此add(...)add(..., BorderLayout.CENTER)基本相同,因此只会显示您添加的最后一个组件。