📄 perfectreader.java
字号:
package librarymanagement.view.dialog;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import librarymanagement.action.dialogAction.PerfectReaderAction;
import librarymanagement.view.common.CenterLoction;
import librarymanagement.view.common.GBC;
public class PerfectReader extends JDialog {
private JLabel rId, rName, rSex, rJob, rTel, rZheng, rZhengId, rMail, rAcd,
rRegister, information;
private JComboBox zhengBox, acdBox;
private JTextField idTxt, nameTxt, telTxt, zhengIdTxt, mailTxt,
registerTxt, sexTxt, jobTxt;
private JScrollPane scrolltable;
private JTable table;
public PerfectReader() {
// SubstanceLookAndFeel.setSkin(new OfficeBlue2007Skin());
initAddBookDialog();
// this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
}
private void initAddBookDialog() {
this.setTitle("修改读者信息");
this.add(buildPanel1());
// Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(700, 700);
CenterLoction.locateCenter(this);
this.setResizable(false);
this.setModal(true);
this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
}
private JPanel buildPanel1() {
JPanel jp = new JPanel();
jp.setLayout(new GridBagLayout());
JPanel j1 = new JPanel();
JPanel j2 = new JPanel();
JPanel j3 = new JPanel();
j2.setLayout(new GridBagLayout());
j3.setLayout(new GridLayout(2, 1));
j1.setLayout(new BorderLayout());
initComp();
jp.add(rId, new GBC(0, 0).setWeight(1, 0).setInset(10)
.setFill(GBC.WEST));
jp.add(idTxt, new GBC(1, 0).setWeight(1, 0).setInset(10).setFill(
GBC.HORIZONTAL));
jp.add(rName, new GBC(3, 0).setWeight(1, 0).setInset(10).setFill(
GBC.WEST));
jp.add(nameTxt, new GBC(4, 0).setWeight(2, 0).setInset(10).setFill(
GBC.HORIZONTAL));
jp.add(rSex, new GBC(0, 2).setWeight(1, 0).setInset(10).setFill(
GBC.WEST));
jp.add(sexTxt, new GBC(1, 2).setWeight(1, 0).setFill(GBC.HORIZONTAL)
.setInset(10));
jp.add(rJob, new GBC(3, 2).setWeight(1, 0).setFill(GBC.WEST).setInset(
10));
jp.add(jobTxt, new GBC(4, 2).setWeight(2, 0).setFill(GBC.HORIZONTAL)
.setInset(10));
jp.add(rAcd, new GBC(0, 4).setWeight(1, 0).setFill(GBC.WEST).setInset(
10));
jp.add(acdBox, new GBC(1, 4).setWeight(1, 0).setFill(GBC.HORIZONTAL)
.setInset(10));
jp.add(rTel, new GBC(3, 4).setWeight(1, 0).setFill(GBC.WEST).setInset(
10));
jp.add(telTxt, new GBC(4, 4).setWeight(2, 0).setFill(GBC.HORIZONTAL)
.setInset(10));
jp.add(rZheng, new GBC(0, 6).setWeight(1, 0).setFill(GBC.WEST)
.setInset(10));
jp.add(zhengBox, new GBC(1, 6).setWeight(1, 0).setFill(GBC.HORIZONTAL)
.setInset(10));
jp.add(rZhengId, new GBC(3, 6).setWeight(1, 0).setFill(GBC.WEST)
.setInset(10));
jp.add(zhengIdTxt, new GBC(4, 6).setWeight(2, 0)
.setFill(GBC.HORIZONTAL).setInset(10));
jp.add(rMail, new GBC(0, 8).setWeight(1, 0).setFill(GBC.WEST).setInset(
10));
jp.add(mailTxt, new GBC(1, 8).setWeight(0, 0).setFill(GBC.HORIZONTAL)
.setInset(10));
jp.add(rRegister, new GBC(3, 8).setWeight(1, 0).setFill(GBC.WEST)
.setInset(10));
jp.add(registerTxt, new GBC(4, 8).setWeight(2, 0).setFill(
GBC.HORIZONTAL).setInset(10));
jp.setBorder(BorderFactory.createTitledBorder("修改读者信息"));
j2.add(information, new GBC(0, 0).setWeight(10, 0).setFill(GBC.WEST));
j2.add(createButton(" 搜 索 "), new GBC(5, 0).setWeight(1, 0)
.setFill(GBC.WEST));
j2.add(createButton(" 修 改 "), new GBC(6, 0).setWeight(1, 0)
.setFill(GBC.WEST));
j2.add(createButton(" 重 置 "), new GBC(7, 0).setWeight(1, 0)
.setFill(GBC.WEST));
j2.add(createButton(" 退 出 "), new GBC(8, 0).setWeight(1, 0)
.setFill(GBC.WEST));
j1.add(jp, BorderLayout.NORTH);
j1.add(j2);
j3.add(j1);
j3.add(getJTableScrollpane());
return j3;
}
public JButton createButton(String name) {
JButton button = new JButton(name);
ActionListener action = new PerfectReaderAction(this);
button.addActionListener(action);
return button;
}
public JTable createTable() {
if (table == null) {
String[] head = { "读 者 编 号", "读 者 姓 名", "所 在 院 系", "注 册 日 期",
"有 效 日 期 至", "状 态 信 息", "图 书 未 还 数 量", "电 话", "性 别",
"有 效 证 件", "证 件 号 码", " E_mail ", "读 者 身 份" };
Object[][] result = null;
DefaultTableModel model = new DefaultTableModel(result, head) {
public boolean isCellEditable(int row, int column) {
return false;
}
};
table = new JTable(model);
table.setPreferredScrollableViewportSize(new Dimension(1200, 200));
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table.getTableHeader().setReorderingAllowed(false);
}
return table;
}
private JScrollPane getJTableScrollpane() {
if (scrolltable == null) {
scrolltable = new JScrollPane();
scrolltable.setViewportView(createTable());
}
return scrolltable;
}
/**
* 初始化各个组件
*
*/
private void initComp() {
rId = new JLabel("读者编号(卡号):");
rName = new JLabel("读者姓名:");
rSex = new JLabel("读者性别:");
rJob = new JLabel("读者身份:");
rTel = new JLabel("联系电话:");
rZheng = new JLabel("有效证件:");
rZhengId = new JLabel("证件号码:");
rMail = new JLabel("E-Mail:");
rAcd = new JLabel("所在院系:");
rRegister = new JLabel("注册日期:");
information = new JLabel("提示:要进行搜索只能填写“读者编号”这一项");
information.setFont(new Font("", Font.BOLD, 13));
String[] s3 = { "", "身份证", "学生证", "借书证" };
String[] s4 = { "", "数学院", "文学院", "商学院", "法学院", "医学院", "物理学院", "化学院",
"计算机学院", "材料院", "矿物院", "成人院", "外语院" };
acdBox = new JComboBox(s4);
sexTxt = new JTextField(20);
sexTxt.setEditable(false);
jobTxt = new JTextField(20);
jobTxt.setEditable(false);
zhengBox = new JComboBox(s3);
idTxt = new JTextField(20);
nameTxt = new JTextField(20);
nameTxt.setEditable(false);
telTxt = new JTextField(20);
zhengIdTxt = new JTextField(20);
mailTxt = new JTextField(20);
mailTxt.setEditable(false);
registerTxt = new JTextField(20);
registerTxt.setEditable(false);
}
public JTextField getIdTxt() {
return idTxt;
}
public JTextField getNameTxt() {
return nameTxt;
}
public JTextField getTelTxt() {
return telTxt;
}
public JTextField getZhengIdTxt() {
return zhengIdTxt;
}
public JTextField getMailTxt() {
return mailTxt;
}
public void setNameTxt(JTextField nameTxt) {
this.nameTxt = nameTxt;
}
public JComboBox getAcdBox() {
return acdBox;
}
public JComboBox getZhengBox() {
return zhengBox;
}
public JTextField getRegisterTxt() {
return registerTxt;
}
public JTextField getSexTxt() {
return sexTxt;
}
public JTextField getJobTxt() {
return jobTxt;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -