在Swing中动态调整面板大小

时间:2015-03-16 10:00:45

标签: java swing jpanel size layout-manager

我正在创建一个由框布局组成的界面,其中包含每个空间内的面板。

在这个特定的情况下,我有一个“级联”面板,第一个应该是一个面板,FlowLayout作为布局管理器,在它下面有一个GridLayout,在它下面有应该是另一个标签。

事情是,我需要第一个面板动态调整大小,因为窗口会自行调整大小。

问题在于:我需要第一个面板具有与绝对尺寸相关的特定尺寸..问题是我无法设置我的首选尺寸..在课程中我执行以下操作但面板停留与之前完全相同的大小..

this.setPreferredSize(new Dimension(windowWidth, 50))

我回家后会立即发送代码,现在的情况就是上面写的那个。

1 个答案:

答案 0 :(得分:1)

  

我需要第一个面板具有与绝对尺寸相关的特定尺寸

您的主面板应该是BorderLayout(这是JFrame的默认布局),而不是BoxLayout。

然后将需要特定大小的面板添加到框架的BorderLayout.NORTH。

然后你的第二个面板可以使用BoxLayout并将此面板添加到框架的BorderLayout.CENTER。现在,当框架调整大小时,此面板将获得所有额外空间。