0

我正在寻找一种在第一行添加 jlabel 和 jtextfield 并在第二行和 jpanel 中心添加 2 个 jbutton 的方法。但是如何使用 gridbaglayout 设置约束?

    selectionPanel.add(new JLabel("Department Name"));
    selectionPanel.add(new JTextField(deptName));
    selectionPanel.add(addBut);
    selectionPanel.add(deleteBut);
4

2 回答 2

2

首先,您需要将布局设置为GridBagLayout.

然后您需要GridBagConstraints为每个组件创建新的(这样,您将不会在下一次创建时从最后一个组件中获取值)。

在该add()方法中,您将传递组件和约束。

setLayout(new java.awt.GridBagLayout())
java.awt.GridBagConstraints constraints = new java.awt.GridBagConstraints();
constraints.anchor = java.awt.GridBagConstraints.LAST_LINE_END;
constraints.weighty = 0.1;
constraints.weightx = 0.3;
javax.swing.JButton unlockButton = new javax.swing.JButton("jbutton text");
add(unlockButton, constraints);
于 2013-03-13T16:31:28.833 回答
2

您创建一个 GridBagContraints 对象,适当地设置其属性,并将约束对象作为第二个参数传递给面板的 add(...) 方法。

请参阅:如何使用 GridBagLayout

于 2013-03-13T16:34:08.080 回答