0

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

4

3 回答 3

1

有可用的布局管理器包括该行为(嗯,有点)。例如,FormLayout来自 JGoodies的允许将您的面板划分为列并指定每个单独列的调整大小行为。

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

于 2012-07-02T10:59:16.993 回答
0

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

于 2012-07-02T10:17:25.027 回答
0

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

例如:

Jlabel aLabel = new Jlabel("text");
Dimension d = new Dimension(50,20);
aLabel.setPreferredSize(d);
aLabel.setMinimumSize(d);
aLabel.setMaximumSize(d);
于 2012-07-02T10:17:39.343 回答