JAVA学生通讯录管理系统.docx
《JAVA学生通讯录管理系统.docx》由会员分享,可在线阅读,更多相关《JAVA学生通讯录管理系统.docx(22页珍藏版)》请在冰点文库上搜索。
JAVA学生通讯录管理系统
序号:
学号:
********
常州大学
课程设计
课程名称:
《面向对象程序设计(JAVA)》
题目:
通讯录管理系统
姓名:
**************************************
学院:
信息科学与工程学院专业班级:
计算机112
指导教师:
******
设计时间:
2012年12月24日2013年1月11日
一、系统分析
1.功能分析:
假设某校学生通讯录基本信息主要包括:
学号、姓名、通讯地址、电话等,本系统应能对这些基本信息进行管理,并要求具有对学生信息添加、删除、浏览查询和排序等功能。
2.
功能模块:
3.
程序流程图:
二、数据库设计
1.数据库分析:
通讯录管理系统是方便大众日常生活的工具,为了迎合大众需求,具体有浏览信息、查询信息、添加和删除信息,及排序等功能。
这就要求数据库结构能充分满足各种信息的输入与输出,实现有组织地,动态储存大量关联数据,方便用户访问系统中的数据。
2.数据库连接:
packageconnect_sql;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.SQLException;
publicclassConnects{
privateStringdbDriver="com.mysql.jdbc.Driver";
privateStringurl="jdbc:
mysql:
//localhost/new_db";
privateConnectioncon=null;
publicConnects(){
try{
Class.forName(dbDriver).newInstance();//数据库驱动
try{
con=DriverManager.getConnection(url,"root","123");
System.out.println("提示:
数据库加载成功!
");//加载数据库
}catch(SQLExceptione){
e.printStackTrace();
}
}catch(InstantiationExceptione){
e.printStackTrace();
}catch(IllegalAccessExceptione){
e.printStackTrace();
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
}
publicConnectiongetConnection(){
returncon;
}
}
3.数据库建立:
三、系统的详细设计
1.系统登录界面:
(1)登录功能:
privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){
inti=0;
flag0=1;
UserDaouser=newUserDao();
if(user.queryUser(jTextField1.getText().trim(),jPasswordField1
.getText().trim())){
MainFromfr=newMainFrom();
fr.setVisible(true);
this.dispose();
}else{
i++;
if(i<=3){
JOptionPane.showMessageDialog(this,"用户名或密码请重新登录!
");
jTextField1.setText("");
jPasswordField1.setText("");
}
else
this.dispose();
}
}
(2)重置功能(代码):
privatevoidjButton2ActionPerformed(java.awt.event.ActionEventevt){
jTextField1.setText("");
jPasswordField1.setText("");
}
2.系统主界面:
(1)浏览学生信息:
privatevoidjButton6ActionPerformed(java.awt.event.ActionEventevt){
Viewft=newView();
ft.setVisible(true);
}
(2)查询学生信息:
privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){
Searchfr=newSearch();
fr.setVisible(true);
}
(3)添加学生信息:
privatevoidjButton2ActionPerformed(java.awt.event.ActionEventevt){
Addft=newAdd();
ft.setVisible(true);
}
(4)删除学生信息:
privatevoidjButton3ActionPerformed(java.awt.event.ActionEventevt){
Deleteft=newDelete();
ft.setVisible(true);
}
(5)排序学生信息:
privatevoidjButton4ActionPerformed(java.awt.event.ActionEventevt){
Sortft=newSort();
ft.setVisible(true);
}
3.浏览学生信息功能:
privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){
Objecttitle[]={"学号","姓名","性别","手机号","学院","专业","地址","班级"};
Stringstr=(String)jComboBox1_view.getSelectedItem();
Stringsql="SELECT*FROMSTUINFO";
ResultSetrs1=choose.dataSelect(sql);
inti=0;
try{
while(rs1.next()){
i++;
}
}catch(SQLExceptione){
e.printStackTrace();
}
Objectdata[][]=newObject[i+1][8];
if(str.equals("全部信息")){
sql="SELECT*FROMSTUINFO";
}else
sql="SELECT*FROMSTUINFOWHERE班级='"+str+"'";
ResultSetrs=choose.dataSelect(sql);
intj=0;
try{
while(rs.next()){
data[j][0]=rs.getString
(1);
data[j][1]=rs.getString
(2);
data[j][2]=rs.getString(3);
data[j][3]=rs.getString(4);
data[j][4]=rs.getString(5);
data[j][5]=rs.getString(6);
data[j][6]=rs.getString(7);
data[j][7]=rs.getString(8);
j++;
}
}catch(SQLExceptione){
e.printStackTrace();
}
JTabletable=newJTable(data,title);
jScrollPane1.setViewportView(table);
jScrollPane1.revalidate();
}
4.查询学生信息功能:
privatevoidjButton_Search1ActionPerformed(java.awt.event.ActionEventevt){
Objecttitle[]={"学号","姓名","性别","手机号","学院","专业","地址","班级"};
Stringstr1=(String)jComboBox_Search1.getSelectedItem();
Stringstr2=jTextField_Search1.getText();
Stringsql=null;
if(str1.equals("学号")){
sql="SELECT*FROMSTUINFOWHERE学号='"+str2+"'";
}elseif(str1.equals("姓名")){
sql="SELECT*FROMSTUINFOWHERE姓名='"+str2+"'";
}elseif(str1.equals("班级")){
sql="SELECT*FROMSTUINFOWHERE班级='"+str2+"'";
}
ResultSetrs=choose.dataSelect(sql);
Object[][]datas=newObject[50][8];
try{
intj=0;
while(rs.next()){
datas[j][0]=rs.getString
(1);
datas[j][1]=rs.getString
(2);
datas[j][2]=rs.getString(3);
datas[j][3]=rs.getString(4);
datas[j][4]=rs.getString(5);
datas[j][5]=rs.getString(8);
datas[j][6]=rs.getString(6);
datas[j][7]=rs.getString(7);
j++;
}
}catch(SQLExceptione1){
e1.printStackTrace();
}
JTabletable=newJTable(datas,title);
jScrollPane1.setViewportView(table);
jScrollPane1.revalidate();
}
5.添加学生信息功能:
(1).添加:
privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){
String[]option={"添加","修改"};
intn=JOptionPane.showOptionDialog(this,"请仔细检查信息,确定添加?
","添加信息",
JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE,null,
option,option[1]);
if(n==0){
//获取添加的内容
Stringacctnum=jTextField1.getText();
Stringname=jTextField2.getText();
Stringsex=jTextField3.getText();
Stringmobile=jTextField4.getText();
Stringacademy=jTextField5.getText();
Stringmajor=jTextField6.getText();
Stringadress=jTextField7.getText();
Stringclasses=jTextField8.getText();
//插入内容
Stringsql="INSERTINTOSTUINFOVALUES('"+acctnum+"','"
+name+"','"+sex+"','"+mobile+"','"+academy
+"','"+major+"','"+adress+"','"+classes
+"')";
choose.dataInsert(sql);
JOptionPane.showMessageDialog(this,"添加成功!
","提示",
JOptionPane.INFORMATION_MESSAGE);
jButton2ActionPerformed(evt);
}
}
(2).重置:
privatevoidjButton2ActionPerformed(java.awt.event.ActionEventevt){
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
jTextField5.setText("");
jTextField6.setText("");
jTextField7.setText("");
jTextField8.setText("");
}
6.删除学生信息功能:
privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){
Stringstr=(String)jComboBox1_view.getSelectedItem();
Stringstr2=jTextField1.getText();
Stringsql=null;
if(str.equals("学号")){
sql="SELECT*FROMstuinfowhere学号='"+str2+"'";
}else
sql="SELECT*FROMstuinfowhere姓名='"+str2+"'";
ResultSetrs=choose.dataSelect(sql);
try{
while(rs.next()){
jTextField2_acctnum.setText(rs.getString
(1));
jTextField9_name.setText(rs.getString
(2));
jTextField3_sex.setText(rs.getString(3));
jTextField4_mobile.setText(rs.getString(4));
jTextField5_academy.setText(rs.getString(5));
jTextField6_major.setText(rs.getString(6));
jTextField7_address.setText(rs.getString(7));
jTextField8_class.setText(rs.getString(8));
}
}catch(SQLExceptione){
e.printStackTrace();
}
String[]option={"删除","修改"};
intn=JOptionPane.showOptionDialog(this,"请仔细核对信息,确认删除?
","删除信息",
JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE,null,
option,option[1]);
if(n==0){
if(str.equals("学号")){
sql="DELETEFROMstuinfoWHERE学号='"+str2+"'";
}else
sql="DELETEFROMstuinfoWHERE姓名='"+str2+"'";
choose.dataDelete(sql);
JOptionPane.showMessageDialog(this,"删除成功!
","提示",
JOptionPane.INFORMATION_MESSAGE);
jTextField2_acctnum.setText("");
jTextField9_name.setText("");
jTextField3_sex.setText("");
jTextField4_mobile.setText("");
jTextField5_academy.setText("");
jTextField6_major.setText("");
jTextField7_address.setText("");
jTextField8_class.setText("");
}
}
7.排序学生信息功能:
privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){
Stringstr=(String)jComboBox1.getSelectedItem();
Objecttitle[]={"姓名","学号","班级","语文","数学","英语","平均成绩","总成绩"};
Stringsql=null;
if(str.equals("学号")){
sql="SELECT*FROMstuinfoORDERBY学号ASC";
}elseif(str.equals("姓名")){
sql="SELECT*FROMstuinfoORDERBY姓名ASC";
}else
sql="SELECT*FROMstuinfoORDERBY班级ASC";
ResultSetrs=choose.dataSelect(sql);
Object[][]datas=newObject[51][8];
try{
intj=0;
while(rs.next()){
datas[j][0]=rs.getString
(1);
datas[j][1]=rs.getString
(2);
datas[j][2]=rs.getString(3);
datas[j][3]=rs.getString(4);
datas[j][4]=rs.getString(5);
datas[j][5]=rs.getString(6);
datas[j][6]=rs.getString(7);
datas[j][7]=rs.getString(8);
j++;
}
}catch(SQLExceptione1){
e1.printStackTrace();
}
JTabletable=newJTable(datas,title);
jScrollPane1.setViewportView(table);
jScrollPane1.revalidate();
}
8.图片插入:
importjava.awt.Graphics;
importjava.awt.Image;
importjavax.swing.ImageIcon;
importjavax.swing.JPanel;
publicclassLoginPanelextendsJPanel{
/**
*
*/
privatestaticfinallongserialVersionUID=1L;
/**
*
*/
protectedImageIconicon;
privateintwidth;
privateintheight;
publicLoginPanel(){
super();
icon=newImageIcon("res/LoginImage1.jpg");
width=icon.getIconWidth();
height=icon.getIconHeight();
setSize(width,height);
}
protectedvoidpaintComponent(Graphicsg){
super.paintComponents(g);
Imageimg=icon.getImage();
g.drawImage(img,0,0,this);
}
}
9.音乐插入:
PrivatevoidjButton7ActionPerformed(java.awt.event.ActionEventevt){
FilemusicFile=newFile("res/1.wav");