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