java学习——84.简单通讯录(八)
修改联系人类:
其完整代码如下
/**
此类为新增联系人窗口
*/
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Update_form extends JFrame implements ActionListener{
private JTextField text[];
private JButton ok,cancel;
private People updatepeople;
private DefaultListModel model;
private int index;
private People people[];
public Update_form(People p,DefaultListModel model,int index,Peoplepeople[]){
super("修改联系人信息");
this.setVisible(true);
this.setSize(250,300);
this.setLocationRelativeTo(null);
this.setLayout(new FlowLayout());
this.produce_text();
this.getContentPane().add(new Label("请修改联系人的信息"));
this.getContentPane().add(new Label("------------------------------------------------"));
this.getContentPane().add(new Label("姓 名:"));
this.getContentPane().add(text[0]);
text[0].setText(p.getPeopleName());
text[1].setText(p.getTel());
text[2].setText(p.getBan());
text[3].setText(p.getAdd());
this.getContentPane().add(new Label("联系电话:"));
this.getContentPane().add(text[1]);
this.getContentPane().add(new Label("办公电话:"));
this.getContentPane().add(text[2]);
this.getContentPane().add(new Label("地 址:"));
this.getContentPane().add(text[3]);
ok=new JButton("修改");
ok.addActionListener(this);
cancel=new JButton("取消");
cancel.addActionListener(this);
this.getContentPane().add(ok);
this.getContentPane().add(cancel);
this.model=model;
this.index=index;
this.people=people;
}
public void produce_text(){
text=new JTextField[4];
for(int i=0;i<text.length;i++){
text[i]=new JTextField(10);
}
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==ok){
String name=text[0].getText().toString();
String tel=text[1].getText().toString();
String ban=text[2].getText().toString();
String address=text[3].getText().toString();
updatepeople=new People(name,tel,ban,address);
model.addElement(updatepeople.toString());
model.removeElementAt(index);
JOptionPane.showMessageDialog(this, "修改成功");
this.dispose();
new Txl(model,people);
}
elseif(e.getSource()==cancel)
{
this.dispose();
new Txl(model,people);
}
}
}
其运行结果如下:
在主界面中点击修改按钮,跳出修改联系人界面,比如:选中的联系人是:王五,325,325,昆明市。
修改其信息,修改完成后单击修改按钮,弹出提示消息框。
、
单击确定,返回主界面。
如不修改,直接在修改联系人界面中单击取消即可返回主界面。
通讯录总结:
我的通讯录做到这里就告一个段落了,当然还有不如意的地方:比如本程序只能一直开着,否则下一次再运行时又只有初始化的数据了。比如修改联系人,是先将原联系人删除,再为修改后的联系人新增一条数据,所以修改后的联系人总是处于最后一行,这也与平时习惯不符等等,问题还有很多,等今后学了文件操作或者数据库操作后再对其进行一下优化,应该就不会有这些问题了。但那得等到以后了,不着急,慢慢来......