编写电话号码查询系统

本文档描述了一个电话号码查询系统的详细设计,包括增加、删除、修改和查询通讯录信息的功能。系统采用GUI界面,提供了用户登录、分组管理、好友管理等操作,各功能界面清晰简洁。通过Deng和MyFrame等类实现不同操作,确保用户能够方便地管理他们的联系人信息。
摘要由CSDN通过智能技术生成

编写电话号码查询系统

一.项目简介
设计一个通讯录管理软件,做到能够增加组、删除组、 修改组、查询好友、加好友、修改好友,删除好友,退出。
(1) 通讯录的每一条信息包括姓名,手机,电话,性别,分组;
(2) 输入功能:可以一次完成若干条信息的输入;
(3) 显示功能:完成全部通讯录信息的显示
(4) 查找功能:完成按姓名查找通讯信息;
(5) 删除功能:完成按姓名删除通讯信息;
(6) 应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰简洁!

二.主体内容
设计分析

1.Deng类做的是用户登录界面MyFrame 类做的是功能表中主界面的功能, 使用此项功能的时候, 在点击“显示查询结果” 后, 让界面显示出操作内容; 点击“退出” 的时候退出该功能.

2.Addgroup 类做的就是“增加分组” 的界面, 上面有标题、 文字显示框和两个控制按钮——“增加分组” 和“退出”。

3.Deletegroup 类做的是“删除分组” 的界面, 有一个文字输入框(提供按名字来删除), 和两个控制按钮——“删除” 和“退出”。

4.Revisegroup 类做的是“修改”的相关功能, 当输入名字之后会进行修改,两个控制按钮——“修改” 和“退出”。

5.Searchfriend 类做的是“编辑—查询好友” 的界面, 提供按名字搜索,有一个文字输入框, 和两个控制按钮——“查询” 和“退出”。

6.Addfriend 类做的是“编辑—增加好友” 的界面, 输入需要增加的姓名,电话, 手机, 住址, 性别, 归属组之后, 两个控制按钮——“增加” 和“退出”。

7.ReviseFriendname 类做的是“修改好友名字” 的界面, 有一个文字输入框提供输入路径, 两个控制按钮——“修改” 和“退出”。

8.Deletefriend 类做的是“删除好友” 的界面, 输入了完整路径之后, 有一个文字输入框提供输入路径, 两个控制按钮——“删除” 和“退出”。

流程图
在这里插入图片描述
各模块功能及程序说明
点击运行系统,登录后,进入主界面进行操作组和好友的操作;
点击组操作,进入界面,进行组添加、修改、删除以及退出的操作。点击好友操作,进入界面,进行好友的添加、查询、修改、删除的操作。
组操作:点击添加组的操作,进入界面,进行组的添加。
点击删除组的操作,进入界面,进行组的删除。
点击修改组名的操作,进入界面,进行组的修改 。
好友操作:点击好友添加的操作,进入界面,进行好友的添加。
点击好友查询的操作,进入界面,进行好友的查询。
点击好友删除的操作,进入界面,进行好友的删除。
点击好友修改信息的操作,进入界面,进行好友的修改信息。

源程序
1.Deng.java

package Te;
import java.awt.Frame;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Deng extends Frame implements ActionListener
{
    
public static final String Statement = null;
JPanel p = new JPanel() ;
JLabel username=new JLabel("学号 : ") ; //使用文本创建一个用户名标签
JTextField t1=new JTextField() ; //创建一个文本框对象
JLabel password=new JLabel("密码: ") ; //创建一个密码标签
JTextField t2=new JTextField() ;
JButton b1=new JButton("登陆") ; //创建登陆按钮
JButton b2=new JButton("退出") ; //创建取消按钮
public Deng()
{
   
this. setTitle("号码查询登陆窗口") ; //设置窗口标题
this. setLayout(null) ; //设置窗口布局管理器
username. setBounds(50, 40, 60, 20) ; //设置姓名标签的初始位置
this. add(username) ; // 将姓名标签组件添加到容器
t1. setBounds(120, 40, 80, 20) ; // 设置文本框的初始位置
this. add(t1) ; // 将文本框组件添加到容器
password. setBounds(50, 100, 60, 20) ; //密码标签的初始位置
this. add(password) ; //将密码标签组件添加到容器
t2. setBounds(120, 100, 80, 20) ; //设置密码标签的初始位置
this. add(t2) ; //将密码标签组件添加到容器
b1. setBounds(50, 150, 60, 20) ; //设置登陆按钮的初始位置
this. add(b1) ; //将登陆按钮组件添加到容器
b2. setBounds(120, 150, 60, 20) ; //设置取消按钮的初始位置
this. add(b2) ; // 将取消按钮组件添加到容器
b1. addActionListener(this) ; //给登陆按钮添加监听器
b2. addActionListener(new Close() ) ;
this. setVisible(true) ; //设置窗口的可见性
this. setSize(300, 200) ; //设置窗口的大小
addWindowListener(new WindowAdapter()
{
   
public void windowClosing(WindowEvent e)
{
   
System. exit(0) ;
}
}) ; //通过内部类重写关闭窗体的方法
}
public void actionPerformed(ActionEvent e)
{
   
if(e. getSource() ==b1) //处理登陆事件
{
    String username=t1. getText() ;
String password=t2. getText() ;
 if (t1. getText() . equals("") )
JOptionPane. showMessageDialog(null,"用户名不能为空! ") ;
     else if (t2. getText() . equals("") )
     {
   
     JOptionPane. showMessageDialog(null,"密 码不能为空! ") ;
     } else
     {
    
     if  (t1. getText() . equals("root")&&t2. getText() . equals("123456") )
     {
   
     dispose() ;
     }
     } else
{
   
 JOptionPane. showMessageDialog(null,"用户名错误") ;
 JOptionPane. showMessageDialog(null, "密码错误") ;
 t1. setText(null) ;
 t2. setText(null) ;
  return;
  }
  }
  }
  {
   
  //提示登陆成功
  class XueSheng{
   
  public void setLocation(int w1, int h1) {
   
  // TODO Auto-generated method stub
  }
  public void setVisible(boolean b) {
   
 // TODO Auto-generated method stub
 
}}
JOptionPane. showMessageDialog(this, "登陆成功") ;
XueSheng thisClass2 = new XueSheng() ;
int w1 = (Toolkit. getDefaultToolkit() . getScreenSize() . width-593) / 2;
int h1 = (Toolkit. getDefaultToolkit() . getScreenSize() . height-385) /2;
   thisClass2. setLocation(w1, h1) ;
   thisClass2. setVisible(true) ;
   Deng. this. dispose() ; 
   new MyFrame();
   }
   }
   class Close implements ActionListener{
   
 public void actionPerformed(ActionEvent e)
{
    
  if (e. getSource() ==b2)
  System.exit(0);
  return;
  }
  }
  public static void main(String args[] ) //主函数
{
   
new Deng() ;
}
}
  

2.MyFrame.java

package Te;
import java.awt.Choice;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class MyFrame extends JFrame implements ActionListener {
   
JTextArea txt;
  JMenuBar mb;
  JMenu menu1;
  JMenu menu2;
  JMenu menu3;
  JButton btn1;
  JButton btn2;
  JLabel j1;
  JMenuItem item1;
  JMenuItem item2;
  JMenuItem item3;
  JMenuItem item4;
  JMenuItem item5;
  JMenuItem item6;
  JMenuItem item7;
  JMenuItem item8;
  JMenuItem item9;
  JMenuItem item10;


  int i = 0;
  int k = 0;
  int j = 0;
  int m = 0;
  int t = 0;
  
  String str[] = new String[100];
  String str1[] = new String[100];
  String str2[] = new String[100];
  String str3[] = new String[100];
  String str4[] = new String[100];
  Boolean str5[] = new Boolean[100];
  String str6[] = new String[100];

public MyFrame() {
   
  this.setTitle("通讯录");
   this.setSize(300, 500);
   this.setLocation(200, 100);
   this.setLayout(null);
   txt = new JTextArea(30, 60);
   JLabel j1 = new JLabel();
   btn1 = new JButton("刷新");
   btn2 = new JButton("退出");

   txt.setBounds(20, 20, 250, 360);
   btn1.setBounds(50, 400, 60, 30);
   btn2.setBounds(180, 400, 60, 30);
   j1.setBounds(80, 
  • 17
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值