如何将Constraints设置为GridBagLayout

时间:2013-03-13 16:19:26

标签: java swing layout gridbaglayout

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

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

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:2)

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

请参阅:How To Use GridBagLayout