新建联系人java_java – 创建联系人列表程序

您最好将字段和控件(按钮)分成单独的面板,这样您就可以为每个面板提供不同的布局管理器.

我将使用BorderLayout从基础JPanel开始.

在此,我将在CENTER位置添加“fields”面板,在SOUTH位置添加控件(按钮).

对于字段,我使用GridBagLayout,但我很挑剔,对于控件面板我可能会使用FlowLayout(除非你有权访问一个漂亮的ButtonLayout管理器;))

这意味着你最终会得到类似的东西

更新代码示例

@H_502_10@public class FormPanel extends JPanel {

private JTextField fldFirstName;

private JTextField fldMiddleName;

private JTextField fldLastName;

private JTextField fldDateOfBirth;

private JTextField fldEMail;

private JButton okButton;

private JButton cancelButton;

public FormPanel() {

setLayout(new BorderLayout());

add(createFieldsPane());

add(createButtonsPane(),BorderLayout.SOUTH);

}

public JPanel createButtonsPane() {

JPanel panel = new JPanel(new FlowLayout());

panel.add((okButton = createButton("Ok")));

panel.add((cancelButton = createButton("Cancel")));

return panel;

}

protected JButton createButton(String text) {

return new JButton(text);

}

public JPanel createFieldsPane() {

JPanel panel = new JPanel(new GridBagLayout());

GridBagConstraints gbc = new GridBagConstraints();

gbc.insets = new Insets(2,2,2);

gbc.gridx = 0;

gbc.gridy = 0;

gbc.anchor = GridBagConstraints.WEST;

panel.add(createLabel("First Name:"),gbc);

gbc.gridy++;

panel.add(createLabel("Middle Name:"),gbc);

gbc.gridy++;

panel.add(createLabel("Last Name:"),gbc);

gbc.gridy++;

panel.add(createLabel("Date of Birth:"),gbc);

gbc.gridy++;

panel.add(createLabel("EMail:"),gbc);

gbc.gridy = 0;

gbc.gridx++;

gbc.weightx = 1;

panel.add((fldFirstName = createField()),gbc);

gbc.gridy++;

panel.add((fldLastName = createField()),gbc);

gbc.gridy++;

panel.add((fldMiddleName = createField()),gbc);

gbc.gridy++;

panel.add((fldDateOfBirth = createField()),gbc);

gbc.gridy++;

panel.add((fldEMail = createField()),gbc);

JPanel filler = new JPanel();

filler.setOpaque(false);

gbc.gridy++;

gbc.weightx = 1;

gbc.weighty = 1;

panel.add(filler,gbc);

return panel;

}

protected JLabel createLabel(String text) {

return new JLabel(text);

}

protected JTextField createField() {

JTextField field = new JTextField(12);

return field;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值