【发布时间】:2012-06-08 17:34:25
【问题描述】:
我正在创建一个带有网格布局的 GUI。我已直接向其中添加了 JTextFields、JButtons 和所有内容。例如,像这样,
JButton b1 = new JButton("Hello"):
JButton b2 = new JButton("Bye");
JTextField t1 = new JTextField(10);
JTextField t2 = new JTextField(10);
GridLayout grid = new GridLayout(2,2,2,2);
JPanel panel = new JPanel();
panel.setLayout(grid);
panel.add(b1);
panel.add(t1);
panel.add(b2);
panel.add(t2);
在这里,如果用户调整窗口大小,一切都会显得非常大。我知道防止这些获得这些的唯一另一种方法是将所有所有内容添加到具有 FlowLayout 的单独 JPanel 中。但这不切实际,因为如果有 20 个东西,就会有 20 个 JPanel。我尝试设置最大尺寸,最小尺寸和所有,他们没有改变任何。请帮忙。
【问题讨论】:
-
您应该使用更复杂的带有约束的 GridBagLayout 或禁用调整大小。
-
GroupLayout会更适合这个。GridLayout的自然做法是使所有内容都具有相同的大小。 -
是的,GridBag 布局将是最好的选择,但就我个人而言,我不喜欢弄乱它。这就是为什么我总是选择其他布局。但是,如果我无法通过以下答案解决这个问题,那将是我唯一的选择。
标签: java swing layout layout-manager