我正在尝试设计一个简单的gui界面。框架由一个主面板组成,主面板包含另外四个面板“工作人员详细信息”,“作业详细信息”“照片”和按钮。输出如下:
我使用gridLayout作为除了具有borderLayout的“按钮面板”之外的所有面板。
现在我想降低底部两个面板的高度,这样就不会有额外的空间。我该怎么做?
以下是“照片”面板和“按钮”面板的代码。两个面板现在都有流程布局。
photoPanel.setPreferredSize(new Dimension(300,70));
photoPanel.add(browsebx);
photoPanel.add(browseBtn);
btnPanel.setPreferredSize(new Dimension(300,70));
btnPanel.add(addBtn);
btnPanel.add(editBtn);
btnPanel.add(deleteBtn);
btnPanel.add(cancelBtn);
答案 0 :(得分:1)
你可以用它。
jPanel.setPreferredSize(new Dimension(x, y));
jPanel.setMaximumSize(new Dimension(x, y));
jPanel.setMinimumSize(new Dimension(x, y));
答案 1 :(得分:1)
您的主面板使用GridLayout
,这意味着所有四个面板的大小完全相同。不要使用GridLayout。
相反,也许您可以使用GridBagLayout
。这允许您将每个面板添加到特定网格,但每个面板将保持其首选大小,由每个面板上使用的布局管理器确定。
阅读How to Use GridBagLayout上Swing教程中的部分,了解更多信息和示例。
如果需要,请记住,4个子面板中的每一个都可以使用不同的布局管理器。例如,您可能希望使用FlowLayout
作为按钮面板。