如何单独调整JPanel的大小?

时间:2015-03-28 06:52:48

标签: java swing user-interface

我正在尝试设计一个简单的gui界面。框架由一个主面板组成,主面板包含另外四个面板“工作人员详细信息”,“作业详细信息”“照片”和按钮。输出如下:

output

我使用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);

2 个答案:

答案 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作为按钮面板。