📄 addressbookentryframe.java
字号:
package com.globalmethod.addressbook;
import java.awt.*;
import java.util.HashMap;
import javax.swing.*;
public class AddressBookEntryFrame extends JInternalFrame
{
private HashMap fields;
private AddressBookEntry person;
private JPanel leftPanel;
private JPanel rightPanel;
private static int xOffset = 0;
private static int yOffset = 0;
private static final String NAME = "姓名";
private static final String ADDRESS = "地址";
private static final String BIRTH = "生日";
private static final String PHONE = "电话";
private static final String MOBILE = "手机";
private static final String EMAIL = "邮箱";
private static final String QQ = "QQ";
private static final String OTHER = "其他";
public AddressBookEntryFrame()
{
super("添加联系人", true, true);
fields = new HashMap();
leftPanel = new JPanel();
leftPanel.setLayout(new GridLayout(9, 1, 0, 5));
rightPanel = new JPanel();
rightPanel.setLayout(new GridLayout(9, 1, 0, 5));
createRow("姓名");
createRow("地址");
createRow("生日");
createRow("电话");
createRow("手机");
createRow("邮箱");
createRow("QQ");
createRow("其他");
Container container = getContentPane();
container.add(leftPanel, "West");
container.add(rightPanel, "Center");
setBounds(xOffset, yOffset, 300, 300);
xOffset = (xOffset + 30) % 300;
yOffset = (yOffset + 30) % 300;
}
public void setAddressBookEntry(AddressBookEntry entry)
{
person = entry;
setField("姓名", person.getName());
setField("地址", person.getAddress());
setField("生日", person.getBirth());
setField("电话", person.getPhone());
setField("手机", person.getMobile());
setField("邮箱", person.getEmail());
setField("QQ", person.getQq());
setField("其他",person.getOther());
}
public AddressBookEntry getAddressBookEntry()
{
person.setName(getField("姓名"));
person.setAddress(getField("地址"));
person.setBirth(getField("生日"));
person.setPhone(getField("电话"));
person.setMobile(getField("手机"));
person.setEmail(getField("邮箱"));
person.setQq(getField("QQ"));
person.setOther(getField("其他"));
return person;
}
private void setField(String fieldName, String value)
{
JTextField field = (JTextField)fields.get(fieldName);
field.setText(value);
}
private String getField(String fieldName)
{
JTextField field = (JTextField)fields.get(fieldName);
return field.getText();
}
private void createRow(String name)
{
JLabel label = new JLabel(name, 4);
label.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
leftPanel.add(label);
JTextField field = new JTextField(30);
rightPanel.add(field);
fields.put(name, field);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -