简易地址薄
用JAVA编了个简单的地址薄,花了点时间,但编的感觉不好!!
1
import java.io.*;
2
import java.awt.*;
3
import java.awt.event.*;
4
public class address extends Frame implements ActionListener
5
{
6
private MenuItem New=new MenuItem("添加");
7
private MenuItem Del=new MenuItem("删除");
8
private MenuItem Edit=new MenuItem("编辑");
9
private MenuItem Exit=new MenuItem("退出");
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 file=new Menu("文件");
29
file.add(New); New.addActionListener(this);
30
file.add(Del); Del.addActionListener(this);
31
file.add(Edit); Edit.addActionListener(this);
32
file.addSeparator();
33
file.add(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
85
class 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
}
138
class 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
import java.io.*;2
import java.awt.*;3
import java.awt.event.*;4
public class address extends Frame implements ActionListener5
{6
private MenuItem New=new MenuItem("添加");7
private MenuItem Del=new MenuItem("删除");8
private MenuItem Edit=new MenuItem("编辑");9
private MenuItem Exit=new MenuItem("退出");10
private Label label = new Label("姓名 地址 邮件 电话",Label.LEFT);11
public List list=new List(); 12
private String str=null;13
private class WindowColser extends WindowAdapter14
{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 file=new Menu("文件");29
file.add(New); New.addActionListener(this);30
file.add(Del); Del.addActionListener(this);31
file.add(Edit); Edit.addActionListener(this);32
file.addSeparator();33
file.add(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

85
class AddDialog extends Dialog implements ActionListener86
{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 WindowAdapter103
{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
}138
class EditDialog extends Dialog implements ActionListener139
{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 WindowAdapter156
{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



浙公网安备 33010602011771号