📄 mainframe.java
字号:
.add(lblCellphone, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 18, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(txtCellphone, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(28, 28, 28)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(lblEMail, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 18, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(txtEmail, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(35, 35, 35))
.add(layout.createSequentialGroup()
.add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 282, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)))
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(btnNew)
.add(btnSave)
.add(btnFind)
.add(btnDelete))
.addContainerGap())
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void txtEmailCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_txtEmailCaretUpdate
// TODO 将在此处添加您的处理代码:
motified = true;
}//GEN-LAST:event_txtEmailCaretUpdate
private void txtCellphoneCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_txtCellphoneCaretUpdate
// TODO 将在此处添加您的处理代码:
motified = true;
}//GEN-LAST:event_txtCellphoneCaretUpdate
private void txtPhoneCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_txtPhoneCaretUpdate
// TODO 将在此处添加您的处理代码:
motified = true;
}//GEN-LAST:event_txtPhoneCaretUpdate
private void txtAddCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_txtAddCaretUpdate
// TODO 将在此处添加您的处理代码:
motified = true;
}//GEN-LAST:event_txtAddCaretUpdate
private void txtZipCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_txtZipCaretUpdate
// TODO 将在此处添加您的处理代码:
motified = true;
}//GEN-LAST:event_txtZipCaretUpdate
private void txtNameCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_txtNameCaretUpdate
// TODO 将在此处添加您的处理代码:
motified = true;
}//GEN-LAST:event_txtNameCaretUpdate
private void mExitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mExitActionPerformed
// TODO 将在此处添加您的处理代码:
if (giveUp()){
System.exit(0);
}
}//GEN-LAST:event_mExitActionPerformed
private void nameListMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_nameListMouseClicked
// TODO 将在此处添加您的处理代码:
//选择浏览
p = (Person)(nameList.getSelectedValue());
txtName.setText(p.name);
txtZip.setText(p.zip);
txtAdd.setText(p.address);
txtPhone.setText(p.telephone);
txtCellphone.setText(p.cellphone);
txtEmail.setText(p.email);
}//GEN-LAST:event_nameListMouseClicked
private void mFindActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mFindActionPerformed
// TODO 将在此处添加您的处理代码:
find();
}//GEN-LAST:event_mFindActionPerformed
private void mDeleteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mDeleteActionPerformed
// TODO 将在此处添加您的处理代码:
delete();
}//GEN-LAST:event_mDeleteActionPerformed
private void mSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mSaveActionPerformed
// TODO 将在此处添加您的处理代码:
save();
}//GEN-LAST:event_mSaveActionPerformed
private void mOpenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mOpenActionPerformed
// TODO 将在此处添加您的处理代码:
open();
}//GEN-LAST:event_mOpenActionPerformed
private void mNewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mNewActionPerformed
// TODO 将在此处添加您的处理代码:
add();
}//GEN-LAST:event_mNewActionPerformed
private void btnNewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnNewActionPerformed
// TODO 将在此处添加您的处理代码:
add();
}//GEN-LAST:event_btnNewActionPerformed
private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSaveActionPerformed
// TODO 将在此处添加您的处理代码:
saveEdited();
}//GEN-LAST:event_btnSaveActionPerformed
private void mAboutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mAboutActionPerformed
// TODO 将在此处添加您的处理代码:
JOptionPane.showConfirmDialog(this,"通讯录----蔡永贵设计\n 2007-12-14!","关于",
JOptionPane.DEFAULT_OPTION,
JOptionPane.INFORMATION_MESSAGE);
}//GEN-LAST:event_mAboutActionPerformed
private void btnFindActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnFindActionPerformed
// TODO 将在此处添加您的处理代码:
find();
}//GEN-LAST:event_btnFindActionPerformed
private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnDeleteActionPerformed
// TODO 将在此处添加您的处理代码:
delete();
}//GEN-LAST:event_btnDeleteActionPerformed
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MainFrame().setVisible(true);
}
});
}
//删除记录
private void delete(){
people.delete(nameList.getSelectedValue());
nameList.setListData(people.toArray());
txtName.setText("");
txtZip.setText("");
txtAdd.setText("");
txtPhone.setText("");
txtCellphone.setText("");
txtEmail.setText("");
}
//查找记录
private void find(){
String nam = JOptionPane.showInputDialog("请输入要查询的姓名");
p = people.find(nam);
if ( p == null ){
JOptionPane.showConfirmDialog(this,"查无此人!","查询结果",
JOptionPane.DEFAULT_OPTION,
JOptionPane.INFORMATION_MESSAGE);
}else{
txtName.setText(p.name);
txtZip.setText(p.zip);
txtAdd.setText(p.address);
txtPhone.setText(p.telephone);
txtCellphone.setText(p.cellphone);
txtEmail.setText(p.email);
}
}
//新增记录
private void add(){
people.addnew(new Person(txtName.getText(),
txtZip.getText(),txtAdd.getText(),
txtPhone.getText(),txtCellphone.getText(),
txtEmail.getText()));
nameList.setListData(people.toArray());
}
//打开文件
private void open(){
choice = fileChooser.showOpenDialog(this);
if (choice == JFileChooser.APPROVE_OPTION) {
chosenFile = fileChooser.getSelectedFile();
deserializePeople(chosenFile.getAbsolutePath());
}
}
//保存文件
private void save(){
choice = fileChooser.showSaveDialog(this);
if (choice == JFileChooser.APPROVE_OPTION) {
chosenFile = fileChooser.getSelectedFile();
serializePeople(people,chosenFile.getAbsolutePath());
}
}
//保存更改的记录
private void saveEdited(){
p = (Person)(nameList.getSelectedValue());
p.name = txtName.getText();
p.zip = txtZip.getText();
p.address = txtAdd.getText();
p.cellphone = txtCellphone.getText();
p.email = txtEmail.getText();
}
//串行化people对象数据
private void serializePeople(People people, String filename) {
try{
FileOutputStream outStream = new FileOutputStream(filename);
ObjectOutputStream out = new ObjectOutputStream(outStream);
out.writeObject(people);
out.flush();
out.close();
} catch(Exception e) {
System.out.println(e);
}
}
//去串行化people对象数据
private void deserializePeople(String filename) {
people = null;
try{
FileInputStream inStream = new FileInputStream(filename);
ObjectInputStream in = new ObjectInputStream(inStream);
people = (People)in.readObject();
in.close();
nameList.setListData(people.toArray());
} catch(Exception e) {
System.out.println(e);
}
}
//纪录改变操作
boolean giveUp() {
if (!motified)
return true;
int temp = JOptionPane.showConfirmDialog(this, "通讯录信息" +
"已经改变!想保存文件吗?", "警告!",
JOptionPane.YES_NO_CANCEL_OPTION);
switch (temp) {
case JOptionPane.YES_OPTION:
save();
case JOptionPane.NO_OPTION:
return true;
case JOptionPane.CANCEL_OPTION:
default:
return false;
}
}
// 变量声明 - 不进行修改//GEN-BEGIN:variables
private javax.swing.JButton btnDelete;
private javax.swing.JButton btnFind;
private javax.swing.JButton btnNew;
private javax.swing.JButton btnSave;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JLabel lblAdd;
private javax.swing.JLabel lblCellphone;
private javax.swing.JLabel lblEMail;
private javax.swing.JLabel lblName;
private javax.swing.JLabel lblPhone;
private javax.swing.JLabel lblZip;
private javax.swing.JMenuItem mAbout;
private javax.swing.JMenuItem mDelete;
private javax.swing.JMenuItem mExit;
private javax.swing.JMenu mFile;
private javax.swing.JMenuItem mFind;
private javax.swing.JMenu mHelp;
private javax.swing.JMenuItem mNew;
private javax.swing.JMenuItem mOpen;
private javax.swing.JMenu mOpt;
private javax.swing.JMenuItem mSave;
private javax.swing.JList nameList;
private javax.swing.JTextField txtAdd;
private javax.swing.JTextField txtCellphone;
private javax.swing.JTextField txtEmail;
private javax.swing.JTextField txtName;
private javax.swing.JTextField txtPhone;
private javax.swing.JTextField txtZip;
// 变量声明结束//GEN-END:variables
private File chosenFile;
private int choice;
private JFileChooser fileChooser = new JFileChooser();
private Person p;
private People people = new People();
boolean motified;
/*
void txtEmail_changedUpdate(javax.swing.event.DocumentEvent evt) {
motified = true;
}
private void txtEmail_insertUpdate(javax.swing.event.DocumentEvent evt) {
motified = true;
}
private void txtEmail_removeUpdate(javax.swing.event.DocumentEvent evt) {
motified = true;
}
class MainFrame_txtEmail_documentAdapter
implements javax.swing.event.DocumentListener {
MainFrame adaptee;
MainFrame_txtEmail_documentAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void changedUpdate(javax.swing.event.DocumentEvent evt) {
adaptee.txtEmail_changedUpdate(evt);
}
public void insertUpdate(javax.swing.event.DocumentEvent evt) {
adaptee.txtEmail_insertUpdate(evt);
}
public void removeUpdate(javax.swing.event.DocumentEvent evt) {
adaptee.txtEmail_removeUpdate(evt);
}
}*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -