圖書管理系統(tǒng)java代碼_第1頁
圖書管理系統(tǒng)java代碼_第2頁
圖書管理系統(tǒng)java代碼_第3頁
圖書管理系統(tǒng)java代碼_第4頁
圖書管理系統(tǒng)java代碼_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上 登錄/注冊(RLogin,userbean)修改個(gè)人信息(personInfo,personBean)查看我借的書(mybook,lookMybook)增加圖書(bookAdd,bookbean)修改圖書信息(bookEdit,bookbean)刪除圖書(bookDel,bookbean)添加成員(memberAdd,memberBean)刪除成員(memberDelete,memberBean)圖書借閱(bookLend,bookbean)圖書歸還(bookReturn,bookbean)圖書查詢(booksearch,bookbean)組員分工:劉會敏:圖書管理

2、(增,刪,查詢,修改圖書信息)方法 及部分頁面, 鏈接數(shù)據(jù)庫(DatabaseConn2) 寧俊明:主界面(bookMain),登錄注冊界面面板(RLogin), 修改個(gè)人信息,添加、刪除成員方法王盛開:登錄注冊方法(userbean),查看我借的書頁面,添加刪除成員頁面,添加刪除圖書頁面圖書中心退出 系統(tǒng)操作 主面板bookMain個(gè)人信息管理管理圖書及成員(當(dāng)用戶類型為管理員時(shí)顯示此組件)專心-專注-專業(yè)項(xiàng)目下的包及類:數(shù)據(jù)庫bookcollection表book(bookID設(shè)置為自增)表user表userbook管理圖書及成員圖書中心退出系統(tǒng)操作個(gè)人中心主頁面:8刪除成員7添加成員設(shè)置

3、變量:username,sex,password,userID,userType,department,major向user表插入數(shù)據(jù)所在院系專業(yè)學(xué)號密碼我是:本科生 研究生 教師6修改圖書信息5刪除圖書4增加圖書9.修改個(gè)人資料只向管理員顯示,判斷用戶是否為管理員(session)1.查詢圖書2.借書3.還書姓名:1,2,3,4,5,6對book表進(jìn)行操作;9 對user表進(jìn)行操作;10對userbook表進(jìn)行操作;效果均為點(diǎn)擊后出現(xiàn)新的頁面驗(yàn)證用戶名,密碼(from user)注冊姓名登錄密碼:注冊:登錄:登錄/注冊:(注冊后直接登錄,跳轉(zhuǎn)到主頁面)10.我所借的書登錄注冊頁面:packa

4、ge bookDB;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class RLogin extends JFrame implements ActionListener/Container c; String sex;int type;/ 創(chuàng)建登錄組件 JLabel jlabel0 = new JLabel("登錄:");JLabel jLabel1 = new JLabel(&quo

5、t;學(xué)號(或職工號):"); JLabel jLabel2 = new JLabel("密碼:");JTextField userID1 = new JTextField(10); JTextField password1 = new JTextField(10);JButton btn_ok1 = new JButton(); / 創(chuàng)建登錄確定按鈕/ 創(chuàng)建注冊組件 JLabel jlabel00 = new JLabel("注冊:");JLabel jLabel3 = new JLabel("姓名:"); JLabel j

6、Label4 = new JLabel("性別:"); JLabel jLabel5 = new JLabel("密碼:"); JLabel jLabel6 = new JLabel("學(xué)號(或職工號):"); JLabel jLabel7 = new JLabel("院系:"); JLabel jLabel8 = new JLabel("專業(yè):");JLabel jLabel9 = new JLabel("用戶類別:");JTextField name = new JTex

7、tField(10);JTextField password2 = new JTextField(10);JTextField ID2 = new JTextField(10);JTextField department = new JTextField(10);JTextField major = new JTextField(10);JRadioButton rb1; / 單選按鈕,用于設(shè)定性別JRadioButton rb2;/用戶類型選擇JButton btn_ok2 = new JButton(); / 創(chuàng)建注冊確定按鈕/ 構(gòu)造函數(shù)public RLogin() super(&quo

8、t;登錄/注冊:"); / 調(diào)用 JFrame的構(gòu)造函數(shù)String sex = "男", "女" ;String type = "本科生", "研究生", "老師"JPanel panel1 = new JPanel(new FlowLayout();/ 使用JPanel類創(chuàng)建面板,該類是JComponent類的子類,后者又?jǐn)U展Container/每個(gè)JPanel都是一個(gè)Container,因此,可以向JPanel添加包括面板在內(nèi)的組件/this.setBackground(Colo

9、r.YELLOW);this.add(panel1);this.add(panel1, BorderLayout.NORTH); / JFrame類的默認(rèn)布局管理器為BorderLayout,此處將panel1設(shè)置在面板的北側(cè)。/ 在panel1面板上添加標(biāo)簽panel1.add(jlabel0);panel1.add(jLabel1);panel1.add(userID1);panel1.add(jLabel2);panel1.add(password1);btn_ok1 = new JButton("確定");btn_ok1.addActionListener(this

10、);panel1.add(btn_ok1);JPanel panel2 = new JPanel(new FlowLayout();this.add(panel2);this.add(panel2, BorderLayout.CENTER); / JFrame類的默認(rèn)布局管理器為BorderLayout,此處將panel2設(shè)置在面板的南側(cè)。/ 在panel2面板上添加組件panel2.add(jlabel00);panel2.add(jLabel3);panel2.add(name);panel2.add(jLabel4);/創(chuàng)建ButtonGroup的對象,用于維護(hù)單選按鈕的邏輯關(guān)系Butt

11、onGroup bg1 = new ButtonGroup();rb1 = new JRadioButtonsex.length;/ 單選按鈕for (int i = 0; i < 2; i+) / rb1i = new JRadioButton(sexi);bg1.add(rb1i);/ 管理單選按鈕panel2.add(rb1i); / 將單選按鈕添加到面panel2.add(jLabel5);panel2.add(password2);panel2.add(jLabel6);panel2.add(ID2);panel2.add(jLabel7);panel2.add(departm

12、ent);panel2.add(jLabel8);panel2.add(major);panel2.add(jLabel9);/創(chuàng)建ButtonGroup的對象,用于維護(hù)單選按鈕的邏輯關(guān)系ButtonGroup bg2 = new ButtonGroup();rb2 = new JRadioButtontype.length;/ 單選按鈕for (int j = 0; j < 3; j+) / rb2j = new JRadioButton(typej);bg2.add(rb2j);/ 管理單選按鈕,只能選一個(gè)panel2.add(rb2j); / 將單選按鈕添加到面btn_ok2 =

13、new JButton("確定");btn_ok2.addActionListener(this);panel2.add(btn_ok2);public static void main(String args) RLogin app = new RLogin();app.setSize(600, 200); / 設(shè)置窗口大小app.setVisible(true); / 設(shè)置窗口可見app.setDefaultCloseOperation(EXIT_ON_CLOSE); / end main methodOverridepublic void actionPerforme

14、d(ActionEvent e) / TODO Auto-generated method stub/String sex, type;/ 用戶點(diǎn)擊登錄確定按鈕if (e.getSource() = btn_ok1) userbean rs = new userbean(); /System.out.println(userID1.getText() + password1.getText();rs.login(userID1.getText(), password1.getText(); this.dispose();/ 用戶點(diǎn)擊注冊確定按鈕if (e.getSource() = btn_o

15、k2) / 獲取用戶選擇的性別并存入sex中for (int m = 0; m < rb1.length; m+)if (rb1m.isSelected()sex = rb1m.getText();/ 獲取用戶選擇的類別并存入type中for (int n = 0; n < rb2.length; n+)if (rb2n.isSelected()type = n+1;userbean rs = new userbean(); rs.register (name.getText(), sex, password2.getText(), ID2.getText(), departmen

16、t.getText(),major.getText(), type); this.dispose(); / end actionPrform method / end systemLogin method登錄注冊方法:package bookDB;import java.sql.ResultSet;import java.sql.SQLException;import javax.swing.JOptionPane;public class userbean boolean boolLogin=false;/用戶登錄之后為true,沒登錄狀態(tài)下為falseString sql;String u

17、serID;static String loginID;/ 定義登錄后的IDstatic int usertype;String username;String password;String sex;String department;String major;int userType;int canBorrow;ResultSet rs = null;/*注冊*public void register(String username,String sex,String password,String userID,String department,String major,int typ

18、e)DatabaseConn2 DB = new DatabaseConn2(); this.username = username;this.userID = userID;this.sex = sex;this.department = department;this.major = major;/添加圖書時(shí),剩余館藏量=館藏量if(username.equals("")|userID.equals("")|sex.equals("")|department.equals("")|major.equals(&q

19、uot;") /提示完善圖書信息JOptionPane.showMessageDialog(null,"請完善信息","錯(cuò)誤",JOptionPane.ERROR_MESSAGE); return; else/int type = Integer.parseInt(userType);/轉(zhuǎn)換用戶類型為int型sql = "insert into user(userName,sex,password,userID,department,major,userType)"+ " values('"+us

20、ername+"','"+sex+"','"+password+"','"+userID+"','"+department+"','"+major+"',"+type+")" try DB.executeUpdate(sql); /更新語句 JOptionPane.showMessageDialog(null,"注冊成功!您可返回登錄"); /提示添

21、加成功/ bookMain main =new bookMain(); RLogin login = new RLogin(); login.pack(); login.setVisible(true); catch (Exception e) System.out.println(e); JOptionPane.showMessageDialog(null,"保存失敗!","錯(cuò)誤",JOptionPane.ERROR_MESSAGE); finally DB.close(); /*登錄*public void login(String userId,

22、String password1)DatabaseConn2 DB = new DatabaseConn2();this.userID = userId;this.password = password1;if(userID.equals("") | password.equals("")JOptionPane.showMessageDialog(null,"請?zhí)顚懲暾卿浶畔?","錯(cuò)誤",JOptionPane.ERROR_MESSAGE); return; elsesql = "select * f

23、rom user where userID = '"+ userID +"'"rs = DB.executeQuery(sql);try if(rs.next()System.out.println(rs.getString("password");if(rs.getString("password").equals(password) )JOptionPane.showMessageDialog(null,"登錄成功!");bookMain main = new bookMain();/

24、登錄成功后顯示登錄頁面main.pack(); main.setVisible(true);/HttpSession session = request.getSession(true);/session.removeAttribute(logid);/session.setAttribute(logid,userID);loginID = userID;/獲取登錄后的用戶ID/獲取用戶類型usertype =Integer.parseInt(rs.getString("userType");System.out.println(usertype+"t"

25、+rs.getString("userType");elseSystem.out.println("你好"); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();主頁面:package bookDB;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class RLogin

26、 extends JFrame implements ActionListener/Container c; String sex;int type;/ 創(chuàng)建登錄組件 JLabel jlabel0 = new JLabel("登錄:");JLabel jLabel1 = new JLabel("學(xué)號(或職工號):"); JLabel jLabel2 = new JLabel("密碼:");JTextField userID1 = new JTextField(10); JTextField password1 = new JTextF

27、ield(10);JButton btn_ok1 = new JButton(); / 創(chuàng)建登錄確定按鈕/ 創(chuàng)建注冊組件 JLabel jlabel00 = new JLabel("注冊:");JLabel jLabel3 = new JLabel("姓名:"); JLabel jLabel4 = new JLabel("性別:"); JLabel jLabel5 = new JLabel("密碼:"); JLabel jLabel6 = new JLabel("學(xué)號(或職工號):"); JLa

28、bel jLabel7 = new JLabel("院系:"); JLabel jLabel8 = new JLabel("專業(yè):");JLabel jLabel9 = new JLabel("用戶類別:");JTextField name = new JTextField(10);JTextField password2 = new JTextField(10);JTextField ID2 = new JTextField(10);JTextField department = new JTextField(10);JTextFi

29、eld major = new JTextField(10);JRadioButton rb1; / 單選按鈕,用于設(shè)定性別JRadioButton rb2;/用戶類型選擇JButton btn_ok2 = new JButton(); / 創(chuàng)建注冊確定按鈕/ 構(gòu)造函數(shù)public RLogin() super("登錄/注冊:"); / 調(diào)用 JFrame的構(gòu)造函數(shù)String sex = "男", "女" ;String type = "本科生", "研究生", "老師"J

30、Panel panel1 = new JPanel(new FlowLayout();/ 使用JPanel類創(chuàng)建面板,該類是JComponent類的子類,后者又?jǐn)U展Container/每個(gè)JPanel都是一個(gè)Container,因此,可以向JPanel添加包括面板在內(nèi)的組件/this.setBackground(Color.YELLOW);this.add(panel1);this.add(panel1, BorderLayout.NORTH); / JFrame類的默認(rèn)布局管理器為BorderLayout,此處將panel1設(shè)置在面板的北側(cè)。/ 在panel1面板上添加標(biāo)簽panel1.ad

31、d(jlabel0);panel1.add(jLabel1);panel1.add(userID1);panel1.add(jLabel2);panel1.add(password1);btn_ok1 = new JButton("確定");btn_ok1.addActionListener(this);panel1.add(btn_ok1);JPanel panel2 = new JPanel(new FlowLayout();this.add(panel2);this.add(panel2, BorderLayout.CENTER); / JFrame類的默認(rèn)布局管理器

32、為BorderLayout,此處將panel2設(shè)置在面板的南側(cè)。/ 在panel2面板上添加組件panel2.add(jlabel00);panel2.add(jLabel3);panel2.add(name);panel2.add(jLabel4);/創(chuàng)建ButtonGroup的對象,用于維護(hù)單選按鈕的邏輯關(guān)系ButtonGroup bg1 = new ButtonGroup();rb1 = new JRadioButtonsex.length;/ 單選按鈕for (int i = 0; i < 2; i+) / rb1i = new JRadioButton(sexi);bg1.ad

33、d(rb1i);/ 管理單選按鈕panel2.add(rb1i); / 將單選按鈕添加到面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);/創(chuàng)建ButtonGroup的對象,用于維護(hù)單選按鈕的邏輯關(guān)系ButtonGroup bg2 = new ButtonGroup();rb2 = new

34、 JRadioButtontype.length;/ 單選按鈕for (int j = 0; j < 3; j+) / rb2j = new JRadioButton(typej);bg2.add(rb2j);/ 管理單選按鈕,只能選一個(gè)panel2.add(rb2j); / 將單選按鈕添加到面btn_ok2 = new JButton("確定");btn_ok2.addActionListener(this);panel2.add(btn_ok2);public static void main(String args) RLogin app = new RLogi

35、n();app.setSize(600, 200); / 設(shè)置窗口大小app.setVisible(true); / 設(shè)置窗口可見app.setDefaultCloseOperation(EXIT_ON_CLOSE); / end main methodOverridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stub/String sex, type;/ 用戶點(diǎn)擊登錄確定按鈕if (e.getSource() = btn_ok1) userbean rs = new userbean();

36、/System.out.println(userID1.getText() + password1.getText();rs.login(userID1.getText(), password1.getText(); this.dispose();/ 用戶點(diǎn)擊注冊確定按鈕if (e.getSource() = btn_ok2) / 獲取用戶選擇的性別并存入sex中for (int m = 0; m < rb1.length; m+)if (rb1m.isSelected()sex = rb1m.getText();/ 獲取用戶選擇的類別并存入type中for (int n = 0; n

37、< rb2.length; n+)if (rb2n.isSelected()type = n+1;userbean rs = new userbean(); rs.register (name.getText(), sex, password2.getText(), ID2.getText(), department.getText(),major.getText(), type); this.dispose(); / end actionPrform method / end systemLogin method添加圖書:package bookDB;import java.awt.*

38、; import java.awt.event.*;import javax.swing.*;public class bookAdd extends JFrame implements ActionListener/監(jiān)聽機(jī)制 Container c; JLabel jLabel1 = new JLabel("圖書名");/JLable存放文本或圖像 JLabel jLabel2 = new JLabel("數(shù)量"); JLabel jLabel3 = new JLabel("作者"); JLabel jLabel4 = new JL

39、abel("出版社"); JTextField bookname = new JTextField(10); /JTextField獲取圖書名JTextField number = new JTextField(10); JTextField author = new JTextField(10); JTextField press = new JTextField(10); JButton addconfirm = new JButton();/JButton按鈕 public bookAdd() this.setTitle("增加圖書信息"); th

40、is.setResizable(true); /setResizable(true)窗口大小可調(diào)節(jié),false不可調(diào)節(jié) tryInit();catch (Exception e)/獲取異常e.printStackTrace(); public void Init() throws Exception /初始化函數(shù)this.setSize(300,500); /設(shè)置大小c = this.getContentPane(); /獲取內(nèi)容面板,所有顯示在窗口的控件都添加在這個(gè)面板上c.setLayout(new FlowLayout(); /布局管理器setLayout() c.add(jLabel1

41、); /向面板添加文字“圖書ID:” c.add(bookname); /向面板添加圖書名輸入框 c.add(jLabel2); /添加圖書數(shù)量 c.add(number); /向面板添加圖書數(shù)量輸入框c.add(jLabel3); /添加作者 c.add(author);/添加作者輸入框 c.add(jLabel4);/添加出版社c.add(press);/添加出版社輸入框addconfirm.setText("確認(rèn)增加"); /設(shè)置按鈕上的字 addconfirm.setFont(new Font("Dialog",0,12);/設(shè)置按鈕上字體 c.

42、add(addconfirm); /添加按鈕 addconfirm.addActionListener(this); /對按鈕添加事件監(jiān)聽 public void actionPerformed(ActionEvent e) Object obj = e.getSource();/獲得事件監(jiān)聽對象 if(obj = addconfirm) bookBean rs = new bookBean(); int num = Integer.parseInt(number.getText();/將獲取的圖書數(shù)量由String類型轉(zhuǎn)化為整型rs.bookAdd(bookname.getText(),nu

43、m,author.getText(),press.getText(); this.dispose(); /關(guān)閉窗口,并釋放窗體資源 修改圖書信息:package bookDB;import java.awt.*; import java.awt.event.*; import javax.swing.*; public class bookEdit extends JFrame implements ActionListener Container c; JLabel jLabel1 = new JLabel("圖書ID:");JLabel jLabel2 = new JL

44、abel("圖書名:"); JLabel jLabel3 = new JLabel("作者:"); JLabel jLabel4 = new JLabel("出版社:"); JLabel jLabel5 = new JLabel("館藏量:");JLabel jLabel6 = new JLabel("剩余館藏量:");JLabel jLabel7 = new JLabel("當(dāng)前預(yù)約人數(shù):");JTextField bookID = new JTextField(10);J

45、TextField bookname= new JTextField(10);JTextField author = new JTextField(10); JTextField press = new JTextField(10);JTextField number = new JTextField(10); JTextField lastNumber = new JTextField(10);JTextField apointment = new JTextField(10);JButton editconfirm = new JButton(); public bookEdit() th

46、is.setTitle("修改圖書信息"); this.setResizable(true); tryInit();catch (Exception e)e.printStackTrace(); /設(shè)置居中 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation(int)(screenSize.width - 400)/2,(int)(screenSize.height - 300)/2 +45); public void Init() throws Excep

47、tion this.setSize(600,500); c = this.getContentPane(); c.setLayout(new FlowLayout(); c.add(jLabel1); bookID.setText(null); c.add(bookID); c.add(jLabel2); bookname.setText(null); c.add(bookname);c.add(jLabel3); author.setText(null); c.add(author); c.add(jLabel4); press.setText(null); c.add(press); c.

48、add(jLabel5); number.setText(null); c.add(number);c.add(jLabel6);lastNumber.setText(null); c.add(lastNumber);c.add(jLabel7);apointment.setText(null); c.add(apointment); /更改信息的組件添加完畢editconfirm.setText("確認(rèn)修改"); c.add(editconfirm); editconfirm.addActionListener(this); /添加事件監(jiān)聽 public void act

49、ionPerformed(ActionEvent e) Object obj = e.getSource(); if(obj = editconfirm) bookBean rs = new bookBean();rs.bookModify(bookID.getText(),bookname.getText(),author.getText(),press.getText(),number.getText(),lastNumber.getText(),apointment.getText(); this.dispose(); 借閱圖書:package bookDB;import java.aw

50、t.*;import java.awt.event.*;import javax.swing.*; public class bookLend extends JFrame implements ActionListener Container c; JLabel jLabel1 = new JLabel();JLabel jLabel2 = new JLabel(); JLabel jLabel3 = new JLabel(); JLabel jLabel4 = new JLabel(); JTextField bookname = new JTextField(10); JTextFiel

51、d bookID = new JTextField(10);JTextField username= new JTextField(10);JTextField userID = new JTextField(10);JButton bookconfirm = new JButton(); public bookLend() this.setTitle("借閱圖書"); this.setResizable(true); tryInit();catch (Exception e)e.printStackTrace(); /設(shè)置居中 Dimension screenSize =

52、 Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation(int)(screenSize.width - 400)/2,(int)(screenSize.height - 300)/2 +45); public void Init() throws Exception this.setSize(600,500); c = this.getContentPane();c.setLayout(new FlowLayout();jLabel1.setText("借閱圖書名: "); c.add(jLabel1); bookname.setText(null); c.add(bookname); jLabel2.setText(&q

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論