java电话号码查询系统-
《Java程序设计》课程设计报告
2013年1 月6 日 系部 计科系 学号 1103040533 姓名 麻峻阁 课程 项目 指导 Java程序设计 电话号码查询系统 名称 名称 教师
教
师
教师签名: 评
语 2013年 6 月 6 日 一、课程设计目的
1.熟练掌握Java面向对象程序设计的基础知识
2.熟练掌握Java中常用的Swing组件的使用
3.熟练掌握使用JDBC操作数据库的方法
4.通过实训,培养学生
和解决实际问
的能力,提高调试和分析应用程序的能力,并为后续的Java高级编程等专业课程的学习奠定良好的基础。
二、使用仪器、材料
计算机一台
三、课程设计步骤
1.该系统主要实现电话录入,修改、增加、删除,按姓名查询,按电话号码查询,按部门查询,按部门显示,显示所有电话号码信息,打印等功能。在该系统的主界面中即可操作完成登陆界面,点击登录按钮的连接转换到另一个界面执行操作,来实现电话号码的查找。
电话号码查询系统
(1)登录界面:出现登录、退出选择按钮,进行选择。
(2)进入登录页面,出现输入帐号和密码提示,用户进行操作。初始账户和密码均为(11111)
另外还对确定按钮进行了监听,可以判定账号和密码是否正确,当用户输入密码错误时,将清空再次输入密码和学号。
(3)进入号码查询页面,根据标签提示,选择查询方式,按键功能按钮,进行查询。
按钮1:b1 查询全部 按钮2: b2 按姓名查询
按钮3:b3 按部门查询 按钮4:b4 按号码查询
四、课程设计原始记录(数据、图
、计算等)
1.系统总设计图
2.系统
图
1、登陆界面
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
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("111012227")
&&t2.getText().equals("200510"))
{
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();
}
}
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();
}
}
public class C extends Frame implements ActionListener {String str;
JPanel p = new JPanel();
JLabel l1 = new JLabel("条件");
JTextField t1= new JTextField(30);
TextArea t= new TextArea(30,30);
JButton b1=new JButton("查询");
JButton b2=new JButton("姓名");
JButton b3=new JButton("部门");
JButton b4=new JButton("号码"); public C ()
{
this.setTitle("查询修改窗口");//设置窗口标题
this.setLayout(null);//设置窗口布局管理器
b1.setBounds(60,40,60,20);
this.add(b1);
b2.setBounds(130,40,60,20);
this.add(b2);
b3.setBounds(200,40,60,20);
this.add(b3);
b4.setBounds(270,40,60,20);
this.add(b4); t.setBounds(60,120,300,350);
this.add(t);
l1.setBounds(50, 80, 80, 20);
this.add(l1);
t1.setBounds(90, 80, 120, 30);
this.add(t1);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
this.setVisible(true);//设置窗口的可见性
this.setSize(450,400);//设置窗口的大小
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}); }
public void actionPerformed(ActionEvent e)
{try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(java.lang.ClassNotFoundException eee){
}
try{
if(e.getSource()==b1)//处理登陆事件
{
Connection
con=DriverManager.getConnection("jdbc:odbc:phone");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from chaxun");
while(rs.next()){
str=str+(" \n"+rs.getString(2)
+"\t电话号码"+rs.getString(5)
+"\t部门"+rs.getString(4)); }
t.setText(str);
stmt.close();
con.close();
}
}
catch(SQLException ex)
{System.out.println(ex.getMessage());
}
if(e.getSource()==b2){
try {Connection
con=DriverManager.getConnection("jdbc:odbc:phone");
PreparedStatement stmt=con.prepareStatement("select * from chaxun where name=?");
stmt.setString(1, t1.getText());
ResultSet rs=stmt.executeQuery();
String str ="";
if(rs.next())
{ str="\n"+rs.getString(2)+
"\t部门:"+rs.getString(4)+
"\t电话号码:"+rs.getString(5);
t.setText(str);
}else
t.setText("");
rs.close();
stmt.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
if(e.getSource()==b3){
try {Connection
con=DriverManager.getConnection("jdbc:odbc:phone");
PreparedStatement stmt=con.prepareStatement("select *
from chaxun where bumwn=?");
stmt.setString(1, t1.getText());
ResultSet rs=stmt.executeQuery();
String str ="";
while(rs.next())
{
str=str+("\n"+rs.getString(2)+
"\t"+rs.getString(4)+
"\t电话号码:"+rs.getString(5));
t.setText(str);
}
rs.close();
stmt.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
if(e.getSource()==b4){
try {Connection
con=DriverManager.getConnection("jdbc:odbc:phone");
PreparedStatement stmt=con.prepareStatement("select * from chaxun where Phone=?");
stmt.setString(1, t1.getText());
ResultSet rs=stmt.executeQuery();
String str ="";
if(rs.next())
{
str="\n"+rs.getString(2)+
"\t"+rs.getString(4)+
"\t电话号码:"+rs.getString(5);
t.setText(str);
}else
t.setText("");
rs.close();
stmt.close();
} catch (SQLException e4) {
// TODO Auto-generated catch block
e4.printStackTrace();
}
}
}
} 五、课程设计结果及分析:
结果: 登陆界面
查询界面
总结:在该程序编写的过程中,时刻要用到数据库和数据源,将这些与java程序联系起来在这次设计中遇到了很多问题,对于面向对象的方法了解不够透彻,以至于错误层出不穷。在设计登录界面和业务界面时,更是苦恼不已。Java不像C#那样可以使用各种控件进行布局,而是完全使用语句进行设计。作为初学者的我,仅仅了解java最基础的一点知识,因而在编写程序过程中出现了很多语法错误。
这次编写电话查询系统系统,是一个很大的挑战,任务繁重。一边上网查找资料或查阅书籍进行知识的补充,一边思考系统的设计…另外要与同学进行交流,发现自己的不足,才能有所进步。 本系统可以进行查询、按姓名查询、按部门查询、按号码查询、添加和删除,只是此系统未连接数据库,以致于添加和删除功能做的不是很好。
对于java,我学得不是很好,但是java应用很广,学好java是相当有必要的。在平时一定要多看看一些资料,多多的向高手请教,,这样才能学好java,不能做理论大的巨人,实践的矮子。相信一分耕耘,一份收获。