Title: Simple Address Book
墨初 知识笔记 94阅读
用Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,特别是用于创建网站的语言)编译了一个简单的通讯录。花了一些时间,但是感觉不好!一导入Java .木卫一.*;2导入Java .awt .*;3导入Java .awt .事件。*;4 public class addrextendedsframeimplementsactionlistener 5 { 6 ' private menuitem new=new menuitem('添加');7 private menu item del=new menuitem(' '删除');8 private menuitem edit=new menuitem('编辑');9 private menuitem exit=new menuitem('
, 1)">退出");10 private Label label = new Label("姓名 地址 邮件 电话",Label.LEFT);
11 public List list=new List();
12 private String str=null;
13 private class WindowColser extends WindowAdapter
14 {
15 public void windowClosing(WindowEvent we)
16 {
17 System.exit(0);
18 }
19 }
20 public address()
21 {
22 super("地址薄");
23 addWindowListener(new WindowColser());
24 setup();
25 }
26 public void setup()
27 {
28 Menu >=new Menu("文件");
29 (New); New.addActionListener(this);
30 (Del); Del.addActionListener(this);
31 (Edit); Edit.addActionListener(this);
32 ();
33 (Exit); Exit.addActionListener(this);
34 MenuBar bar=new MenuBar();
35 bar.add(file);
36 setMenuBar(bar);
37 setLayout(new BorderLayout());
38 add("North",label);
39 add("Center",list);
40 show();
41 pack();
42 }
43 public void actionPerformed(ActionEvent e)
44 {
45 if(e.getSource()==Exit)
46 System.exit(0);
47 if(e.getSource()==New)
48 {
49 AddDialog addnew=new AddDialog(this, "添加地址");
50 if(addnew.met){
51 str=addnew.getname+" "+addnew.getaddr+" "+addnew.getmail+" "+addnew.gettele;
52 if(str.equals("")) handleAdd(str);}
53 }
54 if((e.getSource()==Edit)&&(list.getSelectedIndex()>=0))
55 {
56 EditDialog editlist=new EditDialog(this, "编辑地址",list);
57 if(editlist.met){
58 str=editlist.getname+" "+editlist.getaddr+" "+editlist.getmail+" "+editlist.gettele;
59 handleDel(list.getSelectedIndex());
60 handleAdd(str);}
61
62 }
63 if((e.getSource()==Del)&&(list.getSelectedIndex()>=0))
64 handleDel(list.getSelectedIndex());
65
66 }
67 private void handleAdd(String newTask)
68 {
69 list.add(newTask); //add(String item):在滚动列表的末尾添加指定项
70 list.select(list.getItemCount()-1);//getItemCount()获取列表的项数;
71 //select(int index)选择滚动列表中指定下标的项
72 }
73 private void handleDel(int pos)
74 {
75 list.remove(pos);//remove(int position)从此列表中删除指定位置的某项
76 list.select(pos);
77 }
78 public static void main(String[] args)
79 {
80 address f=new address();
81 }
82}
83
84
85class AddDialog extends Dialog implements ActionListener
86{
87 private Label inputName=new Label("输入姓名:");
88 private Label inputAddr=new Label("输入地址:");
89 private Label inputMail=new Label("输入邮件:");
90 private Label inputTele=new Label("输入电话:");
91 public TextField getName=new TextField();
92 public TextField getAddr=new TextField();
93 public TextField getMail=new TextField();
94 public TextField getTele=new TextField();
95 private Button save=new Button("保存");
96 private Button cancel=new Button("取消");
97 public boolean met=false;
98 public String getname=null;
99 public String getaddr=null;
100 public String getmail=null;
101 public String gettele=null;
102 private class WindowCloser extends WindowAdapter
103 {
104 public void windowClosing(WindowEvent we)
105 {
106 AddDialog.this.met=false;
107 AddDialog.this.hide();
108 }
109 }
110 public AddDialog(Frame parent, String titile)
111 {
112 super(parent,titile,true);
113 Panel a=new Panel();
114 a.setLayout(new GridLayout(2,4));
115 a.add(inputName); a.add(inputAddr); a.add(inputMail); a.add(inputTele);
116 a.add(getName); a.add(getAddr); a.add(getMail); a.add(getTele);
117 Panel b=new Panel();
118 b.setLayout(new FlowLayout());
119 b.add(save); save.addActionListener(this);
120 b.add(cancel); cancel.addActionListener(this);
121 setLayout(new GridLayout(2,1));
122 add(a); add(b);
123 addWindowListener(new WindowCloser());
124 setResizable(false);//不能改变对话框的大小
125 pack();
126 show();
127 }
128 public void actionPerformed(ActionEvent ae)
129 {
130 met=(ae.getSource()==save);
131 getname=getName.getText();
132 getaddr=getAddr.getText();
133 getmail=getMail.getText();
134 gettele=getTele.getText();
135 hide();
136 }
137}
138class EditDialog extends Dialog implements ActionListener
139{
140 private Label inputName=new Label("输入姓名:");
141 private Label inputAddr=new Label("输入地址:");
142 private Label inputMail=new Label("输入邮件:");
143 private Label inputTele=new Label("输入电话:");
144 public TextField getName=new TextField();
145 public TextField getAddr=new TextField();
146 public TextField getMail=new TextField();
147 public TextField getTele=new TextField();
148 private Button save=new Button("保存");
149 private Button cancel=new Button("取消");
150 public boolean met=false;
151 public String getname=null;
152 public String getaddr=null;
153 public String getmail=null;
154 public String gettele=null;
155 private class WindowCloser extends WindowAdapter
156 {
157 public void windowClosing(WindowEvent we)
158 {
159 EditDialog.this.met=false;
160 EditDialog.this.hide();
161 }
162 }
163 public EditDialog(Frame parent, String titile,List list)
164 {
165 super(parent,titile,true);
166 Panel a=new Panel();
167 a.setLayout(new GridLayout(2,4));
168 a.add(inputName); a.add(inputAddr); a.add(inputMail); a.add(inputTele);
169 a.add(getName); a.add(getAddr); a.add(getMail); a.add(getTele);
170 Panel b=new Panel();
171 b.setLayout(new FlowLayout());
172 b.add(save); save.addActionListener(this);
173 b.add(cancel); cancel.addActionListener(this);
174 setLayout(new GridLayout(2,1));
175 add(a); add(b);
176 addWindowListener(new WindowCloser());
177 setResizable(false);//不能改变对话框的大小
178 getup(list);
179 pack();
180 show();
181 }
182 public void getup(List list)
183 {
184 String s=list.getItem(list.getSelectedIndex());
185 String a="",b="",c="",d="";
186 int n=0,m=0;
187 for(int i=0;i<s.length();i++)
188 if(s.charAt(i)!=' '){
189 if(n==0) {a+=s.charAt(i); m=0;}
190 if(n==1) {b+=s.charAt(i); m=0;}
191 if(n==2) {c+=s.charAt(i); m=0;}
192 if(n==3) {d+=s.charAt(i); m=0;}}
193 else if(m==0) {n++; m=1;}
194 getName.setText(a);
195 getAddr.setText(b);
196 getMail.setText(c);;
197 getTele.setText(d);
198 }
199 public void actionPerformed(ActionEvent ae)
200 {
201 met=(ae.getSource()==save);
202 getname=getName.getText();
203 getaddr=getAddr.getText();
204 getmail=getMail.getText();
205 gettele=getTele.getText();
206 hide();
207 }
208}
209

标签: