面板仅调整指定组件的大小

时间:2012-07-02 10:07:44

标签: java swing layout resize panel

我想创建存储多个组件的Panel,但只在调整面板大小时调整我想要的大小。例如,如果我有一个存储1个标签和2个文本字段的面板,我希望能够告诉它只调整文本字段而不是标签大小。是否有任何布局已经或者我必须开始学习编写自定义布局?

3 个答案:

答案 0 :(得分:1)

有可用的布局管理器,包括该行为(好吧,有点)。例如,FormLayout from JGoodies允许在列中划分面板并指定每个列的调整大小行为。

一个典型的用例是你有一个类似于表单的结构(第1列包含一个标签,第2列是一个输入字段),你希望调整大小只调整第二列的大小,确保标签的可见性,并让输入字段使用所有可用的额外空间。

答案 1 :(得分:0)

默认情况下,没有布局管理器查看该类型然后决定采取行动。您可以使用不同的容器来模拟该行为,但实现自己的布局管理器将是更干净的解决方案恕我直言。

答案 2 :(得分:0)

您可以将不希望调整大小的所有组件大小显式设置为相同的值。

例如:

Jlabel aLabel = new Jlabel("text");
Dimension d = new Dimension(50,20);
aLabel.setPreferredSize(d);
aLabel.setMinimumSize(d);
aLabel.setMaximumSize(d);