面向对象课程设计java大作业报告含源代码.docx
《面向对象课程设计java大作业报告含源代码.docx》由会员分享,可在线阅读,更多相关《面向对象课程设计java大作业报告含源代码.docx(23页珍藏版)》请在冰豆网上搜索。
面向对象课程设计java大作业报告含源代码
Java程序设计报告
年级专业信息管理与信息系统
学号
学生姓名
指导教师
二○一四年六月
一、所用到的表的结构及数据类型
customer顾客表
表名
customer顾客
说明
此表记录顾客基本信息
列名
说明
数据类型
约束
cno
顾客编号
char(10)
主码
cname
顾客姓名
char(10)
cage
年龄
int
csex
性别
char
(2)
取值为男或女,默认女
ctelephone
顾客联系方式
char(15)
非空
操作人员表
表名
操作人员
说明
此表记录操作人员信息
列名
说明
数据类型
约束
用户名
用户登录名
nchar(10)
主码
密码
登录密码
nchar(3)
非空
职位
担任职务
nchar(10)
二、程序的功能及实现结果截图
1、登录功能
打开Java文件Login.java运行后
输入错误的用户名后出现:
输入用户名Lucy密码:
123点击登录进入操作界面:
2、添加功能
下拉顾客信息系统菜单,选择添加客户信息
添加信息前数据库客户表的内容:
没有编号0000013
添加客户0000013:
数据库内表变为:
注:
0000015号是截图之前添加进去的
3、查询功能
下拉客户信息系统菜单,选择查询客户信息,输入客户编码0000013后点击确定查询此顾客:
4、修改功能
下拉菜单客户信息系统,选择修改客户信息,重新输入相应的正确信息,将错误的覆盖掉,此处将0000013张蔷年龄改为32:
数据库表内内容:
5、删除功能
下拉菜单客户信息系统,选择删除客户信息,输入客户编码0000013点击确认:
数据库信息变为:
0000013号信息已经删除
6、退出系统功能
下拉菜单客户信息管理选择退出:
然后就退出了界面。
三、程序源代码
packageLoginSystem;
importjava.sql.*;
importjava.io.*;
importjavax.swing.*;
importjava.awt.*;
//登录界面
publicclassLoginextendsJFrame{
privateTextFieldnameField=newTextField(10);
privateJPasswordFieldpasswordField=newJPasswordField(15);
privateJButtonloginButton=newJButton("登录");
privateJButtonexitButton=newJButton("退出");
privateJLabeltitleLabel=newJLabel("梦之路时尚天堂商品管理系统");
privateJLabeluserLabel=newJLabel("用户名");
privateJLabelpwdLabel=newJLabel("密码");
privateStringuser=null;
privatechar[]pwd=null;
publicstaticvoidmain(Stringargs[]){
Loginframe=newLogin();
frame.setTitle("系统登录");
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.setResizable(false);
frame.setLocation(600,300);
frame.pack();
frame.setVisible(true);
}
publicLogin(){
JPaneltitlePanels=newJPanel();
titlePanels.add(titleLabel);
titleLabel.setForeground(Color.red);
JPanellabelPanels=newJPanel();
labelPanels.setLayout(newGridLayout(2,1,10,40));
labelPanels.add(userLabel);
labelPanels.add(pwdLabel);
JPaneltextFieldPanels=newJPanel();
textFieldPanels.setLayout(newGridLayout(2,1,10,40));
textFieldPanels.add(nameField);
textFieldPanels.add(passwordField);
JPanelbuttonPanels=newJPanel();
buttonPanels.add(loginButton);
buttonPanels.add(exitButton);
JPanelpicturePanels=newJPanel();
JLabellb=newJLabel(newImageIcon("A.png"));
picturePanels.add(lb);
JPaneldialogPanels=newJPanel();
dialogPanels.setLayout(newBorderLayout());
dialogPanels.add(titlePanels,BorderLayout.NORTH);
dialogPanels.add(labelPanels,BorderLayout.WEST);
dialogPanels.add(textFieldPanels,BorderLayout.CENTER);
dialogPanels.add(buttonPanels,BorderLayout.SOUTH);
dialogPanels.add(picturePanels,BorderLayout.EAST);
add(dialogPanels);
exitButton.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventevent){
System.exit(0);
}
});
loginButton.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventevent){
Connectioncon=Login.getConnection();
try{
Statementstate=con.createStatement();
user=nameField.getText();
pwd=passwordField.getPassword();
Stringpwds=newString(pwd);
Stringsql="select密码from操作人员where用户名='"+user+"'";
ResultSetrs=state.executeQuery(sql);
rs.next();
if(pwds.equals("")||user.equals("")){
JOptionPane.showMessageDialog(null,"用户名或密码不能为空!
","错误",JOptionPane.ERROR_MESSAGE);
}elseif(!
(rs.getString("密码").equals(pwds))){
JOptionPane.showMessageDialog(null,"用户名或密码错误!
","错误",JOptionPane.ERROR_MESSAGE);
}else{
newGoods();
dispose();
}
Login.closeConn(con);
Login.closeState(state);
Login.closeRs(rs);
}catch(SQLExceptione){
JOptionPane.showMessageDialog(null,"用户名或密码错误!
","错误",JOptionPane.ERROR_MESSAGE);
}
}
});
}
publicstaticvoidcloseConn(Connectionconn){
try{
if(conn!
=null)
{
conn.close();
}
}catch(SQLExceptione){
e.printStackTrace();
}
}
publicstaticvoidcloseState(Statementstate){
try{
if(state!
=null)
{
state.close();
}
}catch(SQLExceptione){
e.printStackTrace();
}
}
publicstaticvoidcloseRs(ResultSetrs){
try{
if(rs!
=null)
{
rs.close();
}
}catch(SQLExceptione){
e.printStackTrace();
}
}
//连接数据库
publicstaticConnectiongetConnection(){
StringuserName="sa";
StringuserPwd="123";
Connectionconn=null;
try{
Class.forName(driverName);
conn=DriverManager.getConnection(dbURL,userName,userPwd);
}catch(Exceptione){
e.printStackTrace();
}
returnconn;
}
}
//菜单界面
classGoods
{
privatestaticfinallongserialVersionUID=1L;
staticfinalintWIDTH=760;
staticfinalintHEIGHT=510;
JPopupMenupop;
JMenuItemitem2;
JFramef;
JMenuItemitem1;
JPanelp;
JTabbedPanetp;
publicGoods()
{
f=newJFrame("梦之路时尚天堂商品管理系统");
JMenuBarmenubar1=newJMenuBar();
tp=newJTabbedPane();
p=newJPanel();
f.setJMenuBar(menubar1);
f.add(p);
p.add(tp);
JMenumenu1=newJMenu("顾客信息系统");
menu1.setMnemonic('Z');
menubar1.add(menu1);
JMenuItemitem1=newJMenuItem("添加客户信息");
JMenuItemitem2=newJMenuItem("修改客户信息");
JMenuItemitem3=newJMenuItem("查询客户信息");
JMenuItemitem4=newJMenuItem("删除客户信息");
JMenuItemitem5=newJMenuItem("退出");
menu1.add(item1);
menu1.add(item2);
menu1.add(item3);
menu1.add(item4);
menu1.add(item5);
f.add(p);
JLabellb=newJLabel(newImageIcon("SC.jpg"));
p.add(lb);
f.setVisible(true);
f.setSize(WIDTH,HEIGHT);
Toolkitkit=Toolkit.getDefaultToolkit();
DimensionscreenSize=kit.getScreenSize();
intwidth=screenSize.width;
intheight=screenSize.height;
intx=(width-WIDTH)/2;
inty=(height-HEIGHT)/2;
f.setLocation(x,y);
item1.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEventEvent)
{
Addcon1=newAdd();
tp.addTab("添加客户信息",con1);
tp.setEnabledAt(0,true);
tp.setTitleAt(0,"添加客户信息");
tp.setPreferredSize(newDimension(500,200));
tp.setTabPlacement(JTabbedPane.TOP);
tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
}
});
item2.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEventEvent)
{
Updatecon2=newUpdate();
tp.addTab("修改客户信息",con2);
tp.setEnabledAt(0,true);
tp.setTitleAt(0,"修改客户信息");
tp.setPreferredSize(newDimension(500,200));
tp.setTabPlacement(JTabbedPane.TOP);
tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
}
});
item3.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEventEvent)
{
Selectcon3=newSelect();
tp.addTab("查询客户信息",con3);
tp.setEnabledAt(0,true);
tp.setTitleAt(0,"查询客户信息");
tp.setPreferredSize(newDimension(500,200));
tp.setTabPlacement(JTabbedPane.TOP);
tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
}
});
item4.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEventEvent)
{
Delectcon4=newDelect();
tp.addTab("删除客户信息",con4);
tp.setEnabledAt(0,true);
tp.setTitleAt(0,"删除客户信息");
tp.setPreferredSize(newDimension(500,200));
tp.setTabPlacement(JTabbedPane.TOP);
tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
}
});
item5.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEvente){
System.exit(0);
}
});
menu1.addMenuListener(newMenuListener()
{
publicvoidmenuSelected(MenuEventevent)
{
item2.setEnabled(!
item1.isSelected());
}
publicvoidmenuDeselected(MenuEventevent){}
publicvoidmenuCanceled(MenuEventevent){}
});
}
}
//信息添加
classAddextendsJPanel
{
publicvoidadd(Componentc,GridBagConstraintsconstraints,intx,inty,intw,inth)
{
constraints.gridx=x;
constraints.gridy=y;
constraints.gridwidth=w;
constraints.gridheight=h;
add(c,constraints);
}
Add()
{
GridBagLayoutlay=newGridBagLayout();
setLayout(lay);
JButtonok=newJButton("确定");
JButtonclear=newJButton("清空");
JButtonc=newJButton("关闭");
JLabelname=newJLabel("姓名");
JLabelphone=newJLabel("电话号码");
JLabelsex=newJLabel("性别");
JLabelnum=newJLabel("客户编码");
JLabelyears=newJLabel("年龄");
Fontfont=newFont("Serief",Font.BOLD,22);
finalJTextFieldnameinput=newJTextField(10);
finalJTextFieldphoneinput=newJTextField(10);
finalJTextFieldsexinput=newJTextField(10);
finalJTextFieldnuminput=newJTextField(10);
finalJTextFieldyearsinput=newJTextField(10);
JLabeltitle=newJLabel("顾客基本信息");
title.setFont(font);
title.setForeground(Color.blue);
JButtonadditionbutton=newJButton("添加");
GridBagConstraintsconstraints=newGridBagConstraints();
constraints.fill=GridBagConstraints.NONE;
constraints.weightx=4;
constraints.weighty=7;
add(title,constraints,0,0,4,1);
add(num,constraints,0,4,1,1);
add(name,constraints,0,1,1,1);
add(phone,constraints,0,5,1,1);
add(sex,constraints,0,3,1,1);
add(years,constraints,0,2,1,1);
add(nameinput,constraints,1,1,1,1);
add(phoneinput,constraints,1,5,1,1);
add(sexinput,constraints,1,3,1,1);
add(numinput,constraints,1,4,1,1);
add(yearsinput,constraints,1,2,1,1);
add(ok,constraints,3,1,1,1);
add(clear,constraints,3,3,1,1);
add(c,constraints,3,5,1,1);
c.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEventEvent)
{
removeAll();
}
}
);
ok.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEventEvent)
{
try
{
}
catch(ClassNotFoundExceptionex){}
Stringuser="sa";
Stringpassword="123";
Statementstmt;
Re