永发信息网

谁有java 通讯录的程序 急!!!

答案:2  悬赏:40  手机版
解决时间 2021-05-23 07:45

要连接数据库的

测试通过的

有添加 删除 查找功能 简单点的

最佳答案
联系Q二七四二三三六七二
全部回答

附件:源程序清单

import java.awt.*;

import java.awt.event.*;

class Info

{

 public static String name,address,mail,telephone;

 Info(){}

}


public class addressBook extends Frame implements ActionListener

{

 private MenuItem noteAdd=new MenuItem("Add");

 private MenuItem noteDel=new MenuItem("Del");

 private MenuItem noteEdit=new MenuItem("Modify");

 private MenuItem noteExit=new MenuItem("Exit");

 private List  noteList=new List();

 private String[][] message=new String [1000][4];

 public Info notes=new Info();

 public addressBook(){

  super("通讯录 向阳");

  Menu note=new Menu("Edit");

  note.add(noteAdd);

  note.add(noteDel);

  note.add(noteEdit);

  note.addSeparator();

  note.add(noteExit);

  MenuBar bar=new MenuBar();

  bar.add(note);

  setMenuBar(bar);

  add(noteList);

  noteAdd.addActionListener(this);

  noteDel.addActionListener(this);

  noteEdit.addActionListener(this);

  noteExit.addActionListener(this);

  noteList.addActionListener(this);

  addWindowListener(new WindowCloser());

  setSize(300,400);

  show();

 }

 public void actionPerformed(ActionEvent e){

  if(e.getSource()==noteAdd){

   notes.mail=null;

   notes.name=null;

   notes.address=null;

   notes.telephone=null;

   int index=noteList.getItemCount();

   EditDialog dlg=new EditDialog(this,"添加通讯录");

   if(dlg.isOk){

    message[index][0]=dlg.textName.getText();

    message[index][1]=dlg.textAddress.getText();

    message[index][2]=dlg.textEmail.getText();

    message[index][3]=dlg.textTelephone.getText();

    if (message[index][0]!=null){

    String s="姓名:"+message[index][0]+";\t地址"+message[index][1]+";\tE-mail"+message[index][2]+";\t电话"+message[index][3];

    noteList.add(s);

   }

  }

  dlg.dispose();

 }else if(e.getSource()==noteDel){

  ConfirmDialog dlg=new ConfirmDialog(this,"确认删除","确定要删除这一条吗?");

  if (dlg.close){

   noteList.remove(noteList.getSelectedIndex());

  }

  dlg.dispose();

 }else if(e.getSource()==noteEdit||e.getSource()==noteList){

  int i=noteList.getSelectedIndex();

  if(i!=-1){

   notes.name=message[i][0];

   notes.address=message[i][1];

   notes.mail=message[i][2];

   notes.telephone=message[i][3];

   EditDialog dlg=new EditDialog(this,"修改通讯录");

   if(dlg.isOk){

    message[i][0]=dlg.textName.getText();

    message[i][1]=dlg.textAddress.getText();

    message[i][2]=dlg.textEmail.getText();

    message[i][3]=dlg.textTelephone.getText();

    String s="姓名:"+message[i][0]+";\t地址"+message[i][1]+";\tE-mail"+message[i][2]+";\t电话"+message[i][3];

    noteList.replaceItem(s,i);

   }

  dlg.dispose();

  }

 }else if(e.getSource()==noteExit){

  System.exit(0);

  }

 }

 private class WindowCloser extends WindowAdapter{

  public void WindowClosing(WindowEvent we){

  System.exit(0);

  }

 }

 public static void main(String[]args){

  addressBook a=new addressBook();

  }

}


class EditDialog extends Dialog implements ActionListener

{

 private Button ok=new Button("确定");

 private Button cancel=new Button("取消");

 private Label labelName=new Label("姓名",Label.LEFT);

 private Label labelAddress=new Label("地址",Label.LEFT);

 private Label labelEmail=new Label("E-mail",Label.LEFT);

 private Label labelTelephone=new Label("电话",Label.LEFT);

 TextField textName=new TextField(30);

 TextField textAddress=new TextField(30);

 TextField textEmail=new TextField(30);

 TextField textTelephone=new TextField(30);

 public boolean isOk=false;

 private Info notes=new Info();

 public EditDialog(Frame parent,String title){

  super(parent,title,true);

  Panel pName=new Panel();

  pName.setLayout(new FlowLayout());

  pName.add(labelName);

  pName.add(textName);

  Panel pAddress=new Panel();

  pName.setLayout(new FlowLayout());

  pName.add(labelAddress);

  pName.add(textAddress);

  Panel pEmail=new Panel();

  pName.add(labelEmail);

  pName.add(textEmail);

  Panel pTelephone=new Panel();

  pName.add(labelTelephone);

  pName.add(textTelephone);

  Panel pInfo=new Panel();

  pInfo.setLayout(new GridLayout(4,1));

  pInfo.add(pName);

  pInfo.add(pAddress);

  pInfo.add(pEmail);

  pInfo.add(pTelephone);

  Panel pButton=new Panel();

  pButton.setLayout(new FlowLayout());

  pButton.add(ok);

  pButton.add(cancel);

  setLayout(new BorderLayout());

  add("Center",pInfo);

  add("South",pButton);

  textName.setText(notes.name);

  textAddress.setText(notes.address);

  textEmail.setText(notes.mail);

  textTelephone.setText(notes.telephone);

  ok.addActionListener(this);

  cancel.addActionListener(this);

  addWindowListener(new WindowCloser());

  setResizable(false);

  pack();

  show();

 }

 public void actionPerformed(ActionEvent ae)

 {

  if(ae.getSource()==ok){

   isOk=true;

   this.hide();

  }

  if(ae.getSource()==cancel){

   isOk=false;

   this.hide();

  }

 }

 private class WindowCloser extends WindowAdapter

 {

  public void windowClosing(WindowEvent we)

  {

   isOk=false;

   EditDialog.this.hide();

  }

 }

}

class ConfirmDialog extends Dialog implements ActionListener

{

 private Button okay=new Button("确定");

 private Button cancel=new Button("取消");

 private Label label=new Label();

 public boolean close=false;

 public ConfirmDialog (Frame parent,String title,String question)

 {

  super(parent,title,true);

  label.setText(question);

  Panel buttons=new Panel();

  buttons.setLayout(new FlowLayout());

  buttons.add(okay);

  buttons.add(cancel);

  setLayout(new BorderLayout());

  add("Center",label);

  add("South",buttons);

  okay.addActionListener(this);

  cancel.addActionListener(this);

  addWindowListener(new WindowCloser());

  setResizable(false);

  pack();

  show();

 }

 private class WindowCloser extends WindowAdapter{

  public void WindowClosing(WindowEvent we){

  ConfirmDialog.this.close=false;

  ConfirmDialog.this.hide();

 }

  public void actionPerformed(ActionEvent ae){

   close=(ae.getSource()==okay);

   hide();

  }

}}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
w过抛物线y^2=2px(p>0)的焦点F的直线l交抛
韩文 除了泪 你还留下了什么 除了等 我还能做
小番茄的营养价值小番茄的栽种过程要施激素肥
照大头贴的时候,后面的布要红色的还是白色的
什么网业游戏好玩?
青岛有哪些外企,青岛外资企业公司有哪些
重庆那里能买到好金毛?
李清照少年时代的经历
手机的内存卡插上读卡器再插进电脑为什么都要
产生消极情绪的原因,如何避免消极情绪
自由食客在什么地方啊,我要过去处理事情
冰箱初次使用注意事项,网上买电磁炉 要注意什
任光晞头发是什么色,什么发型。
英语作文假如你是Tom,刚刚刚参加Tina的生日聚
洛克王国为什么战斗时是17级,捉回来是10级
推荐资讯
雅斯购物广场襄城店在哪里啊,我有事要去这个
大自然的小故事,有关大自然的小故事
以后的社会上钱有多重要?
悲哀黑暗的英文句子,战胜黑暗的名言有什么
怎样有效的制定复习计划
夏天太热、脖子和脸上长好多的热痱子、怎么办
最近老想ML怎么回事啊?之前也没做过,现在一
我的空间在官网查询可以正常进去,可是为什么
武陵区常德中国福利彩票我想知道这个在什么地
涟源市娄底涟源市煤矿安全技术培训中心哪位知
捷安特定边自行车专卖店地址在哪,我要去那里
摩尔庄园里的魔法感应课去那里学
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?