欢迎来到飞鸟慕鱼博客,开始您的技术之旅!
当前位置: 首页知识笔记正文

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

标签:
声明:无特别说明,转载请标明本文来源!