图书管理系统java代码.docx
- 文档编号:18133286
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:64
- 大小:282.01KB
图书管理系统java代码.docx
《图书管理系统java代码.docx》由会员分享,可在线阅读,更多相关《图书管理系统java代码.docx(64页珍藏版)》请在冰点文库上搜索。
图书管理系统java代码
组员分工:
刘会敏:
图书管理(增,删,查询,修改图书信息)方法及部分页面,链接数据库(DatabaseConn2)
宁俊明:
主界面(bookMain),登录注册界面面板(RLogin),修改个人信息,添加、删除成员方法
王盛开:
登录注册方法(userbean),查看我借的书页面,添加删除成员页面,添加删除图书页面
项目下的包及类:
数据库bookcollection
表book(bookID设置为自增)
表user
表userbook
主页面:
登录注册页面:
packagebookDB;
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.*;
publicclassRLoginextendsJFrameimplementsActionListener{
//Containerc;
Stringsex;
inttype;
//创建登录组件
JLabeljlabel0=newJLabel("登录:
");
JLabeljLabel1=newJLabel("学号(或职工号):
");
JLabeljLabel2=newJLabel("密码:
");
JTextFielduserID1=newJTextField(10);
JTextFieldpassword1=newJTextField(10);
JButtonbtn_ok1=newJButton();//创建登录确定按钮
//创建注册组件
JLabeljlabel00=newJLabel("注册:
");
JLabeljLabel3=newJLabel("姓名:
");
JLabeljLabel4=newJLabel("性别:
");
JLabeljLabel5=newJLabel("密码:
");
JLabeljLabel6=newJLabel("学号(或职工号):
");
JLabeljLabel7=newJLabel("院系:
");
JLabeljLabel8=newJLabel("专业:
");
JLabeljLabel9=newJLabel("用户类别:
");
JTextFieldname=newJTextField(10);
JTextFieldpassword2=newJTextField(10);
JTextFieldID2=newJTextField(10);
JTextFielddepartment=newJTextField(10);
JTextFieldmajor=newJTextField(10);
JRadioButtonrb1[];//单选按钮,用于设定性别
JRadioButtonrb2[];//用户类型选择
JButtonbtn_ok2=newJButton();//创建注册确定按钮
//构造函数
publicRLogin()
{
super("登录/注册:
");//调用JFrame的构造函数
String[]sex={"男","女"};
String[]type={"本科生","研究生","老师"};
JPanelpanel1=newJPanel(newFlowLayout());//使用JPanel类创建面板,该类是JComponent类的子类,后者又扩展Container
//每个JPanel都是一个Container,因此,可以向JPanel添加包括面板在内的组件
//this.setBackground(Color.YELLOW);
this.add(panel1);
this.add(panel1,BorderLayout.NORTH);//JFrame类的默认布局管理器为BorderLayout,此处将panel1设置在面板的北侧。
//在panel1面板上添加标签
panel1.add(jlabel0);
panel1.add(jLabel1);
panel1.add(userID1);
panel1.add(jLabel2);
panel1.add(password1);
btn_ok1=newJButton("确定");
btn_ok1.addActionListener(this);
panel1.add(btn_ok1);
JPanelpanel2=newJPanel(newFlowLayout());
this.add(panel2);
this.add(panel2,BorderLayout.CENTER);//JFrame类的默认布局管理器为BorderLayout,此处将panel2设置在面板的南侧。
//在panel2面板上添加组件
panel2.add(jlabel00);
panel2.add(jLabel3);
panel2.add(name);
panel2.add(jLabel4);
//创建ButtonGroup的对象,用于维护单选按钮的逻辑关系
ButtonGroupbg1=newButtonGroup();
rb1=newJRadioButton[sex.length];//单选按钮
for(inti=0;i<2;i++){//
rb1[i]=newJRadioButton(sex[i]);
bg1.add(rb1[i]);//管理单选按钮
panel2.add(rb1[i]);//将单选按钮添加到面
}
panel2.add(jLabel5);
panel2.add(password2);
panel2.add(jLabel6);
panel2.add(ID2);
panel2.add(jLabel7);
panel2.add(department);
panel2.add(jLabel8);
panel2.add(major);
panel2.add(jLabel9);
//创建ButtonGroup的对象,用于维护单选按钮的逻辑关系
ButtonGroupbg2=newButtonGroup();
rb2=newJRadioButton[type.length];//单选按钮
for(intj=0;j<3;j++){//
rb2[j]=newJRadioButton(type[j]);
bg2.add(rb2[j]);//管理单选按钮,只能选一个
panel2.add(rb2[j]);//将单选按钮添加到面
}
btn_ok2=newJButton("确定");
btn_ok2.addActionListener(this);
panel2.add(btn_ok2);
}
publicstaticvoidmain(String[]args){
RLoginapp=newRLogin();
app.setSize(600,200);//设置窗口大小
app.setVisible(true);//设置窗口可见
app.setDefaultCloseOperation(EXIT_ON_CLOSE);
}//endmainmethod
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
//Stringsex,type;
//用户点击登录确定按钮
if(e.getSource()==btn_ok1){
userbeanrs=newuserbean();
//System.out.println(userID1.getText()+password1.getText());
rs.login(userID1.getText(),password1.getText());
this.dispose();
}
//用户点击注册确定按钮
if(e.getSource()==btn_ok2){
//获取用户选择的性别并存入sex中
for(intm=0;m if(rb1[m].isSelected()){ sex=rb1[m].getText(); } } //获取用户选择的类别并存入type中 for(intn=0;n if(rb2[n].isSelected()){ type=n+1; } } userbeanrs=newuserbean(); rs.register(name.getText(),sex,password2.getText(),ID2.getText(),department.getText(), major.getText(),type); this.dispose(); } }//endactionPrformmethod }//endsystemLoginmethod 登录注册方法: packagebookDB; importjava.sql.ResultSet; importjava.sql.SQLException; importjavax.swing.JOptionPane; publicclassuserbean{ booleanboolLogin=false;//用户登录之后为true,没登录状态下为false Stringsql; StringuserID; staticStringloginID;//定义登录后的ID staticintusertype; Stringusername; Stringpassword; Stringsex; Stringdepartment; Stringmajor; intuserType; intcanBorrow; ResultSetrs=null; //******************注册********************** publicvoidregister(Stringusername,Stringsex,Stringpassword,StringuserID,Stringdepartment,Stringmajor,inttype){ DatabaseConn2DB=newDatabaseConn2(); this.username=username; this.userID=userID; this.sex=sex; this.department=department; this.major=major;//添加图书时,剩余馆藏量=馆藏量 if(username.equals("")||userID.equals("")||sex.equals("")||department.equals("")||major.equals("")){//提示完善图书信息 JOptionPane.showMessageDialog(null,"请完善信息","错误",JOptionPane.ERROR_MESSAGE); return; }else{ //inttype=Integer.parseInt(userType);//转换用户类型为int型 sql="insertintouser(userName,sex,password,userID,department,major,userType)" +"values('"+username+"','"+sex+"','"+password+"','"+userID+"','"+department+"','"+major+"',"+type+")"; try{ DB.executeUpdate(sql);//更新语句 JOptionPane.showMessageDialog(null,"注册成功您可返回登录");//提示添加成功 //bookMainmain=newbookMain(); RLoginlogin=newRLogin(); login.pack(); login.setVisible(true); }catch(Exceptione){ System.out.println(e); JOptionPane.showMessageDialog(null,"保存失败! ","错误",JOptionPane.ERROR_MESSAGE); }finally{ DB.close(); } } } //*****************登录***************** publicvoidlogin(StringuserId,Stringpassword1){ DatabaseConn2DB=newDatabaseConn2(); this.userID=userId; this.password=password1; if(userID.equals("")||password.equals("")){ JOptionPane.showMessageDialog(null,"请填写完整登录信息! ","错误",JOptionPane.ERROR_MESSAGE); return; }else{ sql="select*fromuserwhereuserID='"+userID+"'"; rs=DB.executeQuery(sql); try{ if(rs.next()){ System.out.println(rs.getString("password")); if(rs.getString("password").equals(password)){ JOptionPane.showMessageDialog(null,"登录成功! "); bookMainmain=newbookMain();//登录成功后显示登录页面 main.pack(); main.setVisible(true); //HttpSessionsession=request.getSession(true); //session.removeAttribute(logid); //session.setAttribute(logid,userID); loginID=userID;//获取登录后的用户ID //获取用户类型 usertype=Integer.parseInt(rs.getString("userType")); System.out.println(usertype+"\t"+rs.getString("userType")); }else{System.out.println("你好");} } }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } } } 主页面: packagebookDB; importjava.awt.*; importjava.awt.event.ActionEvent; importjava.awt.event.ActionListener; importjavax.swing.*; publicclassRLoginextendsJFrameimplementsActionListener{ //Containerc; Stringsex; inttype; //创建登录组件 JLabeljlabel0=newJLabel("登录: "); JLabeljLabel1=newJLabel("学号(或职工号): "); JLabeljLabel2=newJLabel("密码: "); JTextFielduserID1=newJTextField(10); JTextFieldpassword1=newJTextField(10); JButtonbtn_ok1=newJButton();//创建登录确定按钮 //创建注册组件 JLabeljlabel00=newJLabel("注册: "); JLabeljLabel3=newJLabel("姓名: "); JLabeljLabel4=newJLabel("性别: "); JLabeljLabel5=newJLabel("密码: "); JLabeljLabel6=newJLabel("学号(或职工号): "); JLabeljLabel7=newJLabel("院系: "); JLabeljLabel8=newJLabel("专业: "); JLabeljLabel9=newJLabel("用户类别: "); JTextFieldname=newJTextField(10); JTextFieldpassword2=newJTextField(10); JTextFieldID2=newJTextField(10); JTextFielddepartment=newJTextField(10); JTextFieldmajor=newJTextField(10); JRadioButtonrb1[];//单选按钮,用于设定性别 JRadioButtonrb2[];//用户类型选择 JButtonbtn_ok2=newJButton();//创建注册确定按钮 //构造函数 publicRLogin() { super("登录/注册: ");//调用JFrame的构造函数 String[]sex={"男","女"}; String[]type={"本科生","研究生","老师"}; JPanelpanel1=newJPanel(newFlowLayout());//使用JPanel类创建面板,该类是JComponent类的子类,后者又扩展Container //每个JPanel都是一个Container,因此,可以向JPanel添加包括面板在内的组件 //this.setBackground(Color.YELLOW); this.add(panel1); this.add(panel1,BorderLayout.NORTH);//JFrame类的默认布局管理器为BorderLayout,此处将panel1设置在面板的北侧。 //在panel1面板上添加标签 panel1.add(jlabel0); panel1.add(jLabel1); panel1.add(userID1); panel1.add(jLabel2); panel1.add(password1); btn_ok1=newJButton("确定"); btn_ok1.addActionListener(this); panel1.add(btn_ok1); JPanelpanel2=newJPanel(newFlowLayout()); this.add(panel2); this.add(panel2,BorderLayout.CENTER);//JFrame类的默认布局管理器为BorderLayout,此处将panel2设置在面板的南侧。 //在panel2面板上添加组件 panel2.add(jlabel00); panel2.add(jLabel3); panel2.add(name); panel2.add(jLabel4); //创建ButtonGroup的对象,用于维护单选按钮的逻辑关系 ButtonGroupbg1=newButtonGroup(); rb1=newJRadioButton[sex.length];//单选按钮 for(inti=0;i<2;i++){// rb1[i]=newJRadioButton(sex[i]); bg1.add(rb1[i]);//管理单选按钮 panel2.add(rb1[i]);//将单选按钮添加到面 } panel2.add(jLabel5); panel2.add(password2); panel2.add(jLabel6); panel2.add(ID2); p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 java 代码