通讯录.docx
- 文档编号:9203041
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:17
- 大小:17.39KB
通讯录.docx
《通讯录.docx》由会员分享,可在线阅读,更多相关《通讯录.docx(17页珍藏版)》请在冰豆网上搜索。
通讯录
/**
*AWTSampleapplication
*
*@author
*@version1.0010/12/31*/
importjavax.swing.*;
importjava.io.*;
importjava.awt.*;
importjava.awt.event.*;
importjava.util.*;
importjavax.swing.JPanel;
importjava.util.ArrayList;
publicclassContracsimplementsTextListener{
ArrayListpersons;
JFramef=newJFrame("组长:
张林方;成员:
刘平平、崔晓庆、余飞");
JPanelpn1;
JPanelpn2;
JButtonbt1;
TextFieldTX;
JRadioButtonJR1;
JRadioButtonJR2;
JRadioButtonJR3;
JRadioButtonJR4;
JRadioButtonJR5;
JRadioButtonJR6;
JScrollPanescrollPane;
Personp1;
//TLstnerT=;
JTabletable;
Filefis=newFile("java1.txt");
publicContracs()//创建数组。
{
persons=newArrayList();
}
voidListener()//实现监听功能。
{
if(fis.exists()==false)
try
{
fis.createNewFile();
}
catch(IOExceptione)
{
}
TX.addTextListener(this);
bt1.addMouseListener(newMoutseLis());
}
voidaddperson(Personp)//向动态数组中添加Person。
{
persons.add(p);
}
intgetsize()//返回persons中的成员个数。
{
returnpersons.size();
}
Persongetvalue(intm,Stringname1)
{
if(name1.equals(""))
return(Person)this.persons.get(m);
else
{
for(inti=0;i { p1=(Person)this.persons.get(i); if(p1.getname().equals(name1)) returnp1; } returnnull; } } voiddelet() { Personp5=getvalue(-1,TX.getText()); System.out.println(p5.getname()); intm=getsize(); System.out.println(m); for(inti=0;i if(persons.get(i).equals(p5)) while(i {Personp3=(Person)persons.get(i+1); persons.set(i,p3); i++; } persons.remove(getsize()-1); } voidcreattable(Stringw,ints)//创建表格。 { Object[][]data; String[]Names={"姓名","学校","城市","国家","邮编"}; intn=this.getsize(); if(s==0) { data=newObject[1][5]; data[0][0]=w; data[0][1]=""; data[0][2]=""; data[0][3]=""; data[0][4]=""; } elseif(s==1) { Personp0=getvalue(0,TX.getText()); data=newObject[1][5]; data[0][0]=p0.getname(); data[0][1]=p0.getschool(); data[0][2]=p0.getcity(); data[0][3]=p0.getstate(); data[0][4]=p0.geteip(); } else { data=newObject[n][5]; Personp; for(inti=0;i { p=this.getvalue(i,""); data[i][0]=p.getname(); data[i][1]=p.getschool(); data[i][2]=p.getcity(); data[i][3]=p.getstate(); data[i][4]=p.geteip(); } } table=newJTable(data,Names); scrollPane=newJScrollPane(table); scrollPane.setSize(400,300); pn2.add(scrollPane,BorderLayout.CENTER); } voidinterfaces()//界面实现函数。 { f.setSize(500,600); f.setLayout(null); pn1=newJPanel(); pn2=newJPanel(); f.add(pn1); pn1.setBounds(0,0,500,300); f.add(pn2); pn2.setBounds(0,300,500,300); pn1.setLayout(null); JLabellab=newJLabel("通讯录"); JLabellaa=newJLabel("姓名"); pn1.add(lab); lab.setFont(newFont("黑体",Font.ITALIC,30)); lab.setBounds(200,0,100,30); pn1.add(laa); laa.setBounds(100,80,50,30); TX=newTextField(); bt1=newJButton("确定"); JR1=newJRadioButton("输入"); JR2=newJRadioButton("显示"); JR3=newJRadioButton("查找"); JR4=newJRadioButton("删除"); JR5=newJRadioButton("存盘"); JR6=newJRadioButton("装入"); TX.setBounds(150,80,150,30); bt1.setBounds(320,80,70,30); JR1.setBounds(0,140,80,20); JR2.setBounds(90,140,80,20); JR3.setBounds(180,140,80,20); JR4.setBounds(270,140,80,20); JR5.setBounds(360,140,80,20); JR6.setBounds(450,140,80,20); pn1.add(TX); pn1.add(bt1); pn1.add(JR1); pn1.add(JR2); pn1.add(JR3); pn1.add(JR4); pn1.add(JR5); pn1.add(JR6); f.setResizable(false); } classMoutseLisextendsMouseAdapter//鼠标监听类。 { publicvoidmouseClicked(MouseEvente) { intflag=0; Personp6; Writew1=newWrite(); if(JR1.isSelected()==true) {pn2.removeAll(); System.out.println("1"); Stringr,b,a,x,w; r=(String)table.getValueAt(0,0); b=(String)table.getValueAt(0,1); a=(String)table.getValueAt(0,2); x=(String)table.getValueAt(0,3); w=(String)table.getValueAt(0,4); System.out.println("*****"+w); p6=newPerson(r,b,a,x,w); addperson(p6); } if(JR2.isSelected()==true) { pn2.removeAll(); if(getsize()>0) { creattable("",2); } else { persons=w1.readFromFile("fis"); creattable("",2); } } if((JR3.isSelected()==true)&&(TX.getText()! ="")) { pn2.removeAll(); creattable("",1); } if((JR3.isSelected()==true)&&(JR4.isSelected()==true)) {pn2.removeAll(); delet(); creattable("",2); } if(JR5.isSelected()==true) {pn2.removeAll(); intm=getsize(); for(inti=0;i {pn2.removeAll(); Personp5=getvalue(i,""); System.out.println(p5.getname()); w1.saveToFile("java1.txt",p5); } } if((JR6.isSelected()==true)&&(getsize()==0)) {pn2.removeAll(); persons=w1.readFromFile("java1.txt"); creattable("",2); } } } publicvoidtextValueChanged(TextEvente) { TextFieldTY=(TextField)e.getSource(); intm=TY.getText().length(); if((JR1.isSelected()==true)&&(m>=2)) { pn2.removeAll(); creattable(TY.getText(),0); } } publicstaticvoidmain(String[]args) { Contracscn=newContracs(); cn.interfaces(); cn.Listener(); cn.f.setVisible(true); } } publicclassPerson{ privateStringname; privateStringschool; privateStringcity; privateStringstate; privateStringeip; publicPerson(Stringname1,Stringschool1,Stringcity1,Stringstate1,Stringeip1) { name=name1; school=school1; city=city1; state=state1; eip=eip1; } publicStringgetname() { returnname; } publicStringgetschool() { returnschool; } publicStringgetcity() { returncity; } publicStringgetstate() { returnstate; } publicStringgeteip() { returneip; } } importjava.io.BufferedReader; importjava.io.BufferedWriter; importjava.io.FileReader; importjava.io.FileWriter; importjava.util.*; publicclassWrite{ publicWrite(){ } /*publicstaticvoidmain(Stringarg[]){ Writew=newWrite(); w.readFromFile("java1.txt"); }*/ publicvoidsaveToFile(Strings,Personp2){//信息是一行一行的写到文件的 FileWriterfw=null; BufferedWriterbw=null; try{ fw=newFileWriter(s,true); bw=newBufferedWriter(fw); bw.write(getPersonInfo(p2)); bw.flush(); fw.flush(); }catch(Exceptione){ e.printStackTrace(); }finally{ try{ bw.close(); fw.close(); }catch(Exceptione){ } } } privateStringgetPersonInfo(Personp){ StringBuffersb=newStringBuffer(); sb.append(p.getname()); sb.append(","); sb.append(p.getschool()); sb.append(","); sb.append(p.getcity()); sb.append(","); sb.append(p.getstate()); sb.append(","); sb.append(p.geteip()); sb.append("\n"); returnsb.toString(); } privatePersonsperate(Strings) { Stringa[]=s.split(","); Stringname=a[0]; System.out.println(s); Stringschool=a[1]; Stringcity=a[2]; Stringstate=a[3]; Stringeip=a[4]; returnnewPerson(a[0],a[1],a[2],a[3],a[4]); } publicArrayListreadFromFile(Strings){//s是文件名 ArrayListpersons1=newArrayList(); FileReaderfr=null; BufferedReaderbr=null; try{ fr=newFileReader(s);//文件的存储格式为每行一个用户记录: 姓名,学校,城市,国家,邮编 br=newBufferedReader(fr); Strings1;//每行的记录 while((s1=br.readLine())! =null){ Personp2=sperate(s1); persons1.add(p2); } }catch(Exceptione){ e.printStackTrace(); }finally{ try{ fr.close(); br.close(); }catch(Exceptione){ } } returnpersons1; } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通讯录
![提示](https://static.bdocx.com/images/bang_tan.gif)