我在SWING编写一个gui:
JLabel tLabel1 = new JLabel("Name: ");
JFormattedTextField tTextField1 = new JFormattedTextField();
textBoxes.add(tTextField1);
JLabel tLabel2 = new JLabel("Maximaler Preis: ");
JFormattedTextField tTextField2 = new JFormattedTextField();
textBoxes.add(tTextField2);
GridBagLayout tLayout = new GridBagLayout();
mainFrame.getContentPane().setLayout(tLayout);
// tLayout).setAutoCreateGaps(true);
// tLayout.setAutoCreateContainerGaps(true);
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.gridwidth = GridBagConstraints.REMAINDER;
gbc.anchor = GridBagConstraints.WEST;
mainFrame.add(new JLabel("Geben sie bitte die Kriterien für die Suche an:"), gbc);
gbc.gridwidth = 1;
gbc.gridy++;
mainFrame.add(tLabel1, gbc);
gbc.gridy++;
mainFrame.add(tLabel2, gbc);
gbc.gridy++;
mainFrame.add(tLabel3, gbc);
gbc.gridy++;
mainFrame.add(tLabel4, gbc);
gbc.gridx++;
gbc.gridy = 1;
mainFrame.add(tTextField1, gbc);
gbc.gridy++;
mainFrame.add(tTextField2, gbc);
gbc.gridy++;
mainFrame.add(tTextField3, gbc);
gbc.gridy++;
mainFrame.add(tCombo, gbc);
gbc.gridy++;
mainFrame.add(searchButton, gbc);
gbc.gridy++;
gbc.gridx = 0;
gbc.gridwidth = GridBagConstraints.REMAINDER;
gbc.fill = GridBagConstraints.HORIZONTAL;
mainFrame.add(tTable, gbc);
mainFrame.setSize(800, 500);
mainFrame.pack();
我的文字字段如下:
|
如何在GridBagLayout中为它们提供宽度?
答案 0 :(得分:4)
答案 1 :(得分:3)
这里有几个选项:
HORIZONTAL
答案 2 :(得分:3)
您需要在约束中为它们分配权重。权重决定了剩余空间的分布方式,如果你没有在任何组件上设置权重,那么它们都将获得最小尺寸,备用空间将完全超出布局。