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,昆明市。

修改其信息,修改完成后单击修改按钮,弹出提示消息框。

单击确定,返回主界面。

如不修改,直接在修改联系人界面中单击取消即可返回主界面。

通讯录总结:

      我的通讯录做到这里就告一个段落了,当然还有不如意的地方:比如本程序只能一直开着,否则下一次再运行时又只有初始化的数据了。比如修改联系人,是先将原联系人删除,再为修改后的联系人新增一条数据,所以修改后的联系人总是处于最后一行,这也与平时习惯不符等等,问题还有很多,等今后学了文件操作或者数据库操作后再对其进行一下优化,应该就不会有这些问题了。但那得等到以后了,不着急,慢慢来......

(0)

相关推荐