日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

javaSwing+MySQL实现图书管理系统

發布時間:2023/12/15 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javaSwing+MySQL实现图书管理系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

javaSwing已經學了一個月了,重最開始的生疏到后來慢慢的熟悉其實這并不是一個短暫的過程,也是十分消耗時間的.菜單頁面設計的不是很好,各方面也需要改進,數據庫的關聯性也不是很強,等有時間了在回來慢慢改。在這里貼一份源碼紀念一下。
登錄界面
可以直接到GitHub下載源碼

import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.sql.SQLException; import java.util.Random;class Login1 {public static void main(String[] args) throws SQLException, ClassNotFoundException {DataBaseConnect connect = new DataBaseConnect(); // connect.getConnection(); // connect.Insert("黃洪飛","123456");connect.Insert("胡彩月", "123456"); // connect.Delete("haungg","23132");Login login = new Login();login.LoginJFrame();} }class Login extends JFrame implements ActionListener {//登錄、注冊、取消JButton btnLogin, btnRegister, btnCancel;JPanel pnlSouth, pnlNorth, pnlCenter1, pnlCenter2;//注冊面板private JLabel jLabel1, jlabel;private JLabel jLabelPassWord;private JTextField jTextFieldUser, jtextField;private JPasswordField jPasswordField;static String user, passWord;private JPanel imagePanel;Code code = new Code();JFrame jFrame = new JFrame("圖書管理系統");// ImageIcon imageIcon=new ImageIcon("E:\\java\\Login.jpg"); private ImageIcon background=new ImageIcon("E:\\java\\Login.jpg");; // JFrame jFrame = new JFrame("圖書管理系統");public void LoginJFrame() { // JFrame jFrame = new JFrame("圖書管理系統");ImageIcon imageIcon = new ImageIcon("E:\\java\\Login.jpg");JLabel label = new JLabel(imageIcon);label.setBounds(0, 0, imageIcon.getIconWidth(), imageIcon.getIconHeight());jFrame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));JPanel panel = (JPanel) jFrame.getContentPane();panel.setOpaque(false);jFrame.setLayout(null);jTextFieldUser = new JTextField(15);pnlNorth = new JPanel();jLabel1 = new JLabel("歡迎進入圖書管理系統!");jLabel1.setFont(new Font("宋體", Font.BOLD, 24));pnlNorth.add(jLabel1);pnlNorth.setOpaque(false);pnlNorth.setBounds(100, 50, 300, 59);jFrame.add(pnlNorth);//登錄pnlCenter1 = new JPanel();pnlCenter2 = new JPanel();JLabel jLabelUser = new JLabel(" 用 戶:");jLabelUser.setFont(new Font("宋體", Font.BOLD, 16));jLabelUser.setOpaque(false);jTextFieldUser = new JTextField(15);pnlCenter1.add(jLabelUser);pnlCenter1.add(jTextFieldUser);pnlCenter1.setOpaque(false);pnlCenter1.setBounds(100, 100, 300, 60);jFrame.add(pnlCenter1);//密碼jLabelPassWord = new JLabel("密 碼:");jLabelPassWord.setFont(new Font("宋體", Font.BOLD, 16));jPasswordField = new JPasswordField(15);pnlCenter2.add(jLabelPassWord);pnlCenter2.add(jPasswordField);pnlCenter2.setBounds(100, 150, 300, 60);pnlCenter2.setOpaque(false);//驗證碼jlabel = new JLabel("驗證碼");jlabel.setFont(new Font("宋體", Font.BOLD, 16));jtextField = new JTextField(6);JPanel jPanelCenter = new JPanel();jPanelCenter.add(jlabel);jPanelCenter.add(jtextField);jPanelCenter.add(code);jPanelCenter.setBounds(100, 200, 300, 60);jPanelCenter.setOpaque(false);jFrame.add(jPanelCenter);System.out.println(code.generateCode());//登錄jFrame.add(pnlCenter2);pnlSouth = new JPanel();btnLogin = new JButton("登錄");btnLogin.addActionListener(this);btnRegister = new JButton("注冊");btnRegister.addActionListener(this);btnCancel = new JButton("取消");btnCancel.addActionListener(this);pnlSouth.add(btnLogin);pnlSouth.add(btnRegister);pnlSouth.add(btnCancel);pnlSouth.setOpaque(false);pnlSouth.setBounds(130, 250, 300, 50);jFrame.add(pnlSouth);jFrame.setSize(imageIcon.getIconWidth(), imageIcon.getIconHeight());jFrame.setVisible(true);jFrame.setLocation(300, 300);jFrame.setResizable(false);jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public String getUser() {return this.user;}public String getPassWord() {return this.passWord;}@Overridepublic void actionPerformed(ActionEvent e) {//登錄DataBaseConnect connect = new DataBaseConnect();if (e.getSource() == btnLogin) {String user = jTextFieldUser.getText();String passWord = jPasswordField.getText();Login.user = user;Login.passWord = passWord;String codes = jtextField.getText();if (user.equals("")) {JOptionPane.showMessageDialog(this, "請輸入賬號");} else if (user.length() != 0) {try {if (connect.Select(user, passWord)) {if (codes.equals(code.getCode())) {JOptionPane.showMessageDialog(this, "恭喜您,登陸成功!");jFrame.setVisible(false);dispose();new MenuJFrame();} else {JOptionPane.showMessageDialog(this, "輸入驗證碼有誤!");}} else {JOptionPane.showMessageDialog(this, "該賬號不存在!");}} catch (SQLException | ClassNotFoundException ex) {ex.printStackTrace();}}}//注冊else if (e.getSource() == btnRegister) {String user = jTextFieldUser.getText();String password = jPasswordField.getText();try {boolean result = connect.Insert(user, password);if (result) {connect.Insert(user, password);JOptionPane.showMessageDialog(this, "恭喜,注冊成功"); // setVisible(false); // dispose(); // new MenuJFrame();} else {JOptionPane.showMessageDialog(this, "該賬號已經存在!");}} catch (SQLException | ClassNotFoundException ex) {ex.printStackTrace();}} else if (e.getSource() == btnCancel) {JOptionPane.showMessageDialog(this, "告辭");System.exit(0);}} }class Code extends JComponent implements MouseListener {public static String codes; //自動生成的驗證碼private int width, height = 40; //設置驗證碼高度、寬度private int codesLength = 4; //設置代碼長度private Random random = new Random(); //生成數字的方法public Code() {width = this.codesLength * 16 + (this.codesLength - 1) * 10; //根據驗證碼長度設置寬度setPreferredSize(new Dimension(width, height)); //設置背景大小setSize(width, height); //設置驗證碼長度和寬度this.addMouseListener(this);setToolTipText("點擊可更換驗證碼");}//得到生成的驗證碼public int getCodesLength() {return codesLength;}//設置驗證碼的長度public void setCodesLength(int codeLength) {if (codesLength < 4) {this.codesLength = 4;} else {this.codesLength = codeLength;}}public String getCode() {return codes;}//讓驗證碼產生隨機的顏色public Color getRandColor(int min, int max) {if (min > 255)min = 255;if (max > 255)max = 255;int red = random.nextInt(max - min) + min;int green = random.nextInt(max - min) + min;int blue = random.nextInt(max - min) + min;return new Color(red, green, blue);}// 設置驗證碼具體的數字或字母是什么protected String generateCode() {char[] codes = new char[this.codesLength];for (int i = 0, len = codes.length; i < len; i++) {if (random.nextBoolean()) {codes[i] = (char) (random.nextInt(10) + 48);} else {codes[i] = (char) (random.nextInt(26) + 97);}}Code.codes = new String(codes);return Code.codes;}@Overrideprotected void paintComponent(Graphics g) {super.paintComponent(g);if (this.codes == null || this.codes.length() != this.codesLength) { //判斷生成的驗證碼是否為空或超出長度this.codes = generateCode();}width = this.codesLength * 16 + (this.codesLength - 1) * 10;super.setSize(width, height); //接口使用,驗證碼字體大小super.setPreferredSize(new Dimension(width, height));//接口使用,驗證碼背景大小Font mFont = new Font("Arial", Font.BOLD | Font.ITALIC, 25); //設置字體和字體大小g.setFont(mFont); //設置對象//繪制出驗證碼的背景的矩形輪廓Graphics2D g2d = (Graphics2D) g;g2d.setColor(getRandColor(200, 250));g2d.fillRect(0, 0, width, height);g2d.setColor(getRandColor(180, 200));g2d.drawRect(0, 0, width - 1, height - 1);//繪制出驗證碼背景的線int i = 0, len = 150;for (; i < len; i++) {int x = random.nextInt(width - 1);int y = random.nextInt(height - 1);int x1 = random.nextInt(width - 10) + 10;int y1 = random.nextInt(height - 4) + 4;g2d.setColor(getRandColor(180, 200));g2d.drawLine(x, y, x1, y1);}//繪制出驗證碼的具體字母i = 0;len = this.codesLength;FontMetrics fm = g2d.getFontMetrics();int base = (height - fm.getHeight()) / 2 + fm.getAscent();for (; i < len; i++) {int b = random.nextBoolean() ? 1 : -1;g2d.rotate(random.nextInt(10) * 0.01 * b);g2d.setColor(getRandColor(20, 130));g2d.drawString(codes.charAt(i) + "", 16 * i + 10, base);}}//下一個驗證碼public void nextCode() {generateCode();repaint();;}@Overridepublic void mouseClicked(MouseEvent e) {codes = generateCode();repaint(); // nextCode();}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stub} } import java.sql.*;class DataBaseConnect {private static final String USER = "root";private static final String PASS = "123456";private Connection connection;private PreparedStatement sql;private ResultSet resultSet;Connection getConnection() throws SQLException, ClassNotFoundException {String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";Class.forName(JDBC_DRIVER);String DB_URl = "jdbc:mysql://root@localhost:3306/library?characterEncoding=utf8";connection = DriverManager.getConnection(DB_URl, USER, PASS);System.out.println("數據庫鏈接成功");return connection;}public void CloseConnection(Connection connection) throws SQLException {if (connection != null)connection.close();}public boolean Select(String user, String pass) throws SQLException, ClassNotFoundException {connection = this.getConnection();sql = connection.prepareStatement("select *from library.db_賬戶 ");int flag = 0;try {resultSet = sql.executeQuery();while (resultSet.next()) {String username = resultSet.getString("username");String passWord = resultSet.getString("password");if (user.equals(username) && pass.equals(passWord))flag = 1;}} catch (Exception e) {e.printStackTrace();}if (flag == 1)return true;elsereturn false;}public boolean Insert(String user, String password) throws SQLException, ClassNotFoundException {connection = this.getConnection(); // sql=connection.prepareStatement("insert into library.db_book(ID,username, password) values(?,?,?)");boolean result = this.Select(user, password);if (!result) {sql = connection.prepareStatement("insert into library.db_賬戶(username, password) values(?,?)"); // sql.setInt(1,0);sql.setString(1, user);sql.setString(2, password);sql.executeUpdate();return true;} else {return false;}}public void Delete(String user, String password) throws SQLException, ClassNotFoundException {connection = this.getConnection();boolean result = this.Select(user, password);if (!result) {sql = connection.prepareStatement("delete from library.db_賬戶 where username=?");sql.setString(1, user); // sql.setString(2,password);sql.executeUpdate();}}//更新數據庫用戶信息public void UpData(String user, String passWord) throws SQLException, ClassNotFoundException {connection = this.getConnection();sql = connection.prepareStatement("update library.db_賬戶 set username=? where password=?");sql.setString(1, user);sql.setString(2, passWord);sql.executeUpdate();}public String AddBook(String bookName, String bookAuthor, String bookTime, int number) throws SQLException, ClassNotFoundException {connection = this.getConnection();sql = connection.prepareStatement("insert into library.db_book(BookName, BookAuthor, BookTime, BookNumber) values(?,?,?,?)");sql.setString(1, bookName);sql.setString(2, bookAuthor);sql.setString(3, bookTime);sql.setInt(4, number);sql.executeUpdate();return "添加書籍成功";}public boolean SelectBook(String bookName) throws SQLException, ClassNotFoundException {connection = this.getConnection();sql = connection.prepareStatement("select *from library.db_book ");resultSet = sql.executeQuery();int flag = 0;while (resultSet.next()) {String book = resultSet.getString("BookName");if (bookName.equals(book))flag = 1;}if (flag == 1)return true;elsereturn false;}public void DeleteBook(String bookName) throws SQLException, ClassNotFoundException {connection = this.getConnection();sql = connection.prepareStatement("delete from library.db_book where BookName=?");sql.setString(1, bookName); // sql.setString(2,password);sql.executeUpdate();} }

菜單界面

import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;public class Menu {public static void main(String[] args) {new MenuJFrame();} }class MenuJFrame extends JFrame implements ActionListener {private JButton jButton1 = new JButton("增加圖書");private JFrame jFrame = new JFrame("圖書菜單窗口");private JButton jButton2 = new JButton("刪除圖書");public MenuJFrame() { // jFrame.setSize(600, 600);jFrame.setLocationRelativeTo(null);ImageIcon imageIcon = new ImageIcon("E:\\java\\Menu.gif");JLabel label = new JLabel(imageIcon);label.setBounds(0, 0, imageIcon.getIconWidth(), imageIcon.getIconHeight());jFrame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));JPanel panel = (JPanel) jFrame.getContentPane();panel.setOpaque(false);jFrame.setSize(imageIcon.getIconWidth(), imageIcon.getIconHeight());jFrame.setResizable(false);jFrame.setLocation(300,300); // jFrame.setLayout(null);JPanel jPanel1 = new JPanel(new BorderLayout());//創建面板jPanel1.setOpaque(false);JTabbedPane tabbedPane = new JTabbedPane();JToolBar toolBar1 = new JToolBar();toolBar1.setOpaque(false);toolBar1.setLayout(new FlowLayout(FlowLayout.LEFT, 15, 10));JToolBar jToolBar2 = new JToolBar();jToolBar2.setLayout(new FlowLayout(FlowLayout.LEFT, 15, 10));jToolBar2.setOpaque(false);JToolBar jToolBar3 = new JToolBar();jToolBar3.setOpaque(false);jToolBar3.setLayout(new FlowLayout(FlowLayout.LEFT, 15, 10));JToolBar jToolBar4 = new JToolBar();jToolBar4.setOpaque(false);jToolBar4.setLayout(new FlowLayout(FlowLayout.LEFT, 15, 10));tabbedPane.add("圖書管理", toolBar1);tabbedPane.setOpaque(false);jButton1.setOpaque(false);jButton1.setFont(new Font("宋體", Font.BOLD, 16));jButton2.setFont(new Font("宋體", Font.BOLD, 16)); // JButton jButton1 = new JButton("增加圖書"); // JButton jButton2 = new JButton("刪除圖書");toolBar1.add(jButton1);jButton1.addActionListener(this);jButton2.addActionListener(this);toolBar1.add(jButton2);tabbedPane.add("借書", jToolBar2);JButton jButton3 = new JButton("借書");jButton3.setFont(new Font("宋體", Font.BOLD, 16));jButton3.addActionListener(this);JButton jButton4 = new JButton("查看書籍目錄");jButton4.setFont(new Font("宋體", Font.BOLD, 16));jButton4.addActionListener(this);jToolBar2.add(jButton3);jToolBar2.add(jButton4);tabbedPane.add("還書", jToolBar3);JButton jButton5 = new JButton("還書");jButton5.setFont(new Font("宋體", Font.BOLD, 16));jButton5.addActionListener(this);JButton jButton6 = new JButton("選項6");jToolBar3.add(jButton5);jToolBar3.add(jButton6);tabbedPane.add("用戶信息管理", jToolBar4);JButton jButton7 = new JButton("個人信息管理");jButton7.setFont(new Font("宋體", Font.BOLD, 16));JButton jButton8 = new JButton("完善用戶其它信息");jButton8.setFont(new Font("宋體", Font.BOLD, 16));jToolBar4.add(jButton7);jToolBar4.add(jButton8);jFrame.getContentPane().add(tabbedPane, BorderLayout.NORTH);jFrame.getContentPane().add(jPanel1, BorderLayout.CENTER);tabbedPane.addChangeListener(new ChangeListener() {@Overridepublic void stateChanged(ChangeEvent e) {System.out.println("當前選項卡:" + tabbedPane.getSelectedIndex());}});tabbedPane.setSelectedIndex(1);jFrame.setVisible(true);//借書按鈕監聽器jButton3.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {jFrame.setVisible(false);dispose();BorrowBook borrowBook = new BorrowBook();borrowBook.Remind();}});//還書按鈕監聽器jButton5.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {jFrame.setVisible(false);dispose();ReturnBook returnBook = new ReturnBook();returnBook.returnBook();}});//個人 用戶管理監聽器jButton7.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {jFrame.setVisible(false);dispose();UserManage userManage = new UserManage();userManage.User();}});//完善用戶信息監聽器jButton8.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {jFrame.setVisible(false);dispose();UserInformation userInformation = new UserInformation();userInformation.Information();}});}@Overridepublic void actionPerformed(ActionEvent e) {if (e.getSource() == jButton1) {jFrame.setVisible(false);dispose(); // dispose(); // JFrame jFrame1 = new JFrame("新窗口"); // jFrame1.setVisible(true);BookManege book = new BookManege();book.addBook();} else if (e.getSource() == jButton2) {jFrame.setVisible(false);dispose();BookManege book = new BookManege();book.DeleteBook();}} } import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;public class DataBase1 extends DataBaseConnect {private DataBaseConnect connect = new DataBaseConnect();//判斷書籍是否存在public boolean Select(String bookName) throws SQLException, ClassNotFoundException {connect.getConnection();PreparedStatement sql;Connection connection = this.getConnection();sql = connection.prepareStatement("select *from library.db_book");ResultSet resultSet;resultSet = sql.executeQuery();int flag = 0;while (resultSet.next()) {String book = resultSet.getString("BookName");if (bookName.equals(book)) {flag = 1;}}if (flag == 1)return true;elsereturn false;}//查找書籍剩余情況public int Select(String bookName, int flag) throws SQLException, ClassNotFoundException {connect.getConnection();PreparedStatement sql;Connection connection = this.getConnection();sql = connection.prepareStatement("select *from library.db_book ");ResultSet resultSet;resultSet = sql.executeQuery();int number = 0;while (resultSet.next()) {String book = resultSet.getString("BookName");int bookNumber = resultSet.getInt("BookNumber");if (bookName.equals(book))number = bookNumber;}return number;}//更新圖書館書籍數目public void UpDate(String bookName, int flag) throws SQLException, ClassNotFoundException {connect.getConnection();PreparedStatement sql;Connection connection = this.getConnection();sql = connection.prepareStatement("update library.db_book set BookNumber=? where BookName=?");String number;number = String.valueOf(Select(bookName, flag));if (flag == 1)sql.setInt(1, Integer.parseInt(number) - 1);else if (flag == 2)sql.setInt(1, Integer.parseInt(number) + 1);sql.setString(2, bookName);sql.executeUpdate();}//記得更新借書時間public void addBorrowName(String bookName, String borrowName, String borrowTime, String returnTime) throws SQLException, ClassNotFoundException {Connection connection = connect.getConnection();PreparedStatement sql;sql = connection.prepareStatement("insert into library.db_borrow(BookName, BorrowName,BorrowTime,ReturnTime)values (?,?,?,?)");sql.setString(1, bookName);sql.setString(2, borrowName);sql.setString(3, borrowTime);sql.setString(4, returnTime);sql.executeUpdate();}//還書記錄public void returnBook(String borrowName) throws SQLException, ClassNotFoundException {Connection connection = connect.getConnection();PreparedStatement sql;sql = connection.prepareStatement("delete from library.db_borrow where BorrowName=?");sql.setString(1, borrowName);sql.executeUpdate();}} import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.SQLException;public class BookManege extends JFrame implements ActionListener {private JButton jButton1 = new JButton("增加");private JButton jButton2 = new JButton("返回上一級目錄");private JTextField jTextField1, jTextField2, jTextField3;void addBook() {this.setTitle("圖書管理"); // JButton jButton1 = new JButton("增加");jButton1.addActionListener(this); // JButton jButton2 = new JButton("返回上一級目錄");jButton2.addActionListener(this);JLabel jLabel1 = new JLabel("圖書名稱");jTextField1 = new JTextField(15);JLabel jLabel2 = new JLabel("圖書作者");jTextField2 = new JTextField(15);JLabel jLabel3 = new JLabel("入庫時間");jTextField3 = new JTextField(15);JPanel jPanelNorth = new JPanel();JPanel jPanelCenter1 = new JPanel();JPanel jPanelCenter2 = new JPanel();JPanel jPanelCenter = new JPanel();JPanel jPanelSouth = new JPanel();// jPanelNorth.setLayout(new BorderLayout());jPanelNorth.add(jLabel1);jPanelNorth.add(jTextField1);jPanelCenter1.add(jLabel2);jPanelCenter1.add(jTextField2);jPanelCenter2.add(jLabel3);jPanelCenter2.add(jTextField3);jPanelCenter.add(jPanelCenter1, BorderLayout.CENTER);jPanelCenter.add(jPanelCenter2, BorderLayout.SOUTH); // this.add(jPanelNorth,BorderLayout.NORTH);jPanelSouth.add(jButton1);jPanelSouth.add(jButton2);this.add(jPanelNorth, BorderLayout.NORTH);this.add(jPanelCenter, BorderLayout.CENTER);this.add(jPanelSouth, BorderLayout.SOUTH);this.setSize(400, 200);this.setVisible(true);}void DeleteBook() {JFrame jFrame = new JFrame("刪除圖書");JButton jButton = new JButton("刪除");jButton.addActionListener(this);JButton jButton1 = new JButton("返回上一級目錄");jButton1.addActionListener(this);JLabel jLabel = new JLabel("書籍名稱");JTextField jTextField = new JTextField(15);JPanel jPanel = new JPanel();JPanel jPanel1 = new JPanel();jPanel1.add(jButton);jPanel1.add(jButton1);jPanel.add(jLabel);jPanel.add(jTextField);this.add(jPanel, BorderLayout.NORTH);this.add(jPanel1, BorderLayout.CENTER);setVisible(true);setSize(500, 400);jButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String bookName;bookName = jTextField.getText();DataBaseConnect connect = new DataBaseConnect();try {boolean result = connect.SelectBook(bookName);if (result) {connect.DeleteBook(bookName);JOptionPane.showMessageDialog(jFrame, "刪除成功");} else {JOptionPane.showMessageDialog(jFrame, "圖書館沒有書籍信息");}} catch (SQLException | ClassNotFoundException ex) {ex.printStackTrace();}}});jButton1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {setVisible(false);dispose();new MenuJFrame();}});}//增加圖書監聽器@Overridepublic void actionPerformed(ActionEvent e) {if (e.getSource() == jButton1) {//增加書到數據庫db_BookString bookName, bookAuthor, bookTime;bookName = jTextField1.getText();bookAuthor = jTextField2.getText();bookTime = jTextField3.getText();DataBaseConnect connect = new DataBaseConnect();try {String s = connect.AddBook(bookName, bookAuthor, bookTime, 1);JOptionPane.showMessageDialog(this, s);} catch (SQLException | ClassNotFoundException ex) {ex.printStackTrace();}} else if (e.getSource() == jButton2) {setVisible(false);dispose();new MenuJFrame();}}// public boolean Select(String bookName) { // // return true; // }public static void main(String[] args) {BookManege book = new BookManege(); // book.addBook();book.DeleteBook();} } import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.SQLException;public class ReturnBook extends JFrame implements ActionListener {public void returnBook() {JFrame returnJFrame = new JFrame("還書");JPanel jPanelNorth = new JPanel(), jPanelCenter = new JPanel(), jPanelSouth = new JPanel(), jPanel = new JPanel();JPanel jPanelCenter1 = new JPanel(), jPanel1Center2 = new JPanel();JButton jButton = new JButton("還書");JButton jButton1 = new JButton("返回上一級目錄");JLabel jLabel1 = new JLabel("書籍名稱:");JTextField jTextField1 = new JTextField(15);jPanelNorth.add(jLabel1);jPanelNorth.add(jTextField1);JLabel jLabel2 = new JLabel("還書人:");JTextField jTextField2 = new JTextField(15);jPanelCenter1.add(jLabel2);jPanelCenter1.add(jTextField2);JLabel jLabel3 = new JLabel("歸還時間:");JTextField jTextField3 = new JTextField(15);jPanel1Center2.add(jLabel3);jPanel1Center2.add(jTextField3);jPanelCenter.add(jPanelCenter1, BorderLayout.NORTH);jPanelCenter.add(jPanel1Center2, BorderLayout.CENTER);jPanelSouth.add(jButton);jPanelSouth.add(jButton1);returnJFrame.add(jPanelNorth, BorderLayout.NORTH);returnJFrame.add(jPanelCenter, BorderLayout.CENTER);returnJFrame.add(jPanelSouth, BorderLayout.SOUTH);returnJFrame.setSize(500, 200);returnJFrame.setLocation(500, 500);returnJFrame.setResizable(false);returnJFrame.setVisible(true);jButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String bookName = jTextField1.getText();String borrowName = jTextField2.getText();String borrowTime = jTextField3.getText();DataBase1 dataBase1 = new DataBase1();try {dataBase1.returnBook(borrowName);dataBase1.UpDate(bookName, 2);JOptionPane.showMessageDialog(returnJFrame, "還書成功!");} catch (SQLException | ClassNotFoundException ex) {ex.printStackTrace();}}});jButton1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {returnJFrame.setVisible(false);dispose();new MenuJFrame();}});}@Overridepublic void actionPerformed(ActionEvent e) {} } import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;public class userDateBase extends DataBaseConnect {DataBaseConnect dataBaseConnect = new DataBaseConnect();private Connection connection;private PreparedStatement sql;private ResultSet resultSet;public boolean Select(String username) throws SQLException, ClassNotFoundException {connection = this.getConnection();sql = connection.prepareStatement("select *from library.db_賬戶");int flag = 0;try {resultSet = sql.executeQuery();while (resultSet.next()) {String user = resultSet.getString("username");if (user.equals(username))flag = 1;}} catch (Exception e) {e.printStackTrace();}if (flag == 0)return true;elsereturn false;}public boolean Insert(String user, String date, String email) throws SQLException, ClassNotFoundException {connection = this.getConnection();boolean result = Select(user);if (result) {sql = connection.prepareStatement("insert into library.db_userinformation(username, birthday, Email) values (?,?,?)");sql.setString(1, user);sql.setString(2, date);sql.setString(3, email);sql.executeUpdate();return true;} else {return false;}}} import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.SQLException;public class UserInformation extends JFrame implements ActionListener {Login login = new Login();String user = login.getUser();String password = login.getPassWord();private JFrame userJFrame = new JFrame("個人信息");private JLabel jLabel1 = new JLabel("用戶名:");private JTextField jTextField1 = new JTextField(user, 15);private JLabel jLabel2 = new JLabel("出生日期:");private JTextField jTextField2 = new JTextField(15);private JLabel jLabel3 = new JLabel("電子郵件:");private JTextField jTextField3 = new JTextField(15);private JPanel jPanel;private JButton jButton1 = new JButton("提交");private JButton jButton2 = new JButton("返回主菜單");// Login login=new Login();public void Information() {Init(); // String user = login.getUser(); // String password = login.getPassWord();JPanel jPanelNorth = new JPanel();jPanelNorth.add(jLabel1);jPanelNorth.add(jTextField1);userJFrame.add(jPanelNorth, BorderLayout.NORTH);JPanel jPanelCenter1 = new JPanel();jPanelCenter1.add(jLabel2);jPanelCenter1.add(jTextField2);JPanel jPanelCenter = new JPanel();jPanelCenter.add(jPanelCenter1, BorderLayout.NORTH);JPanel jPanelCenter2 = new JPanel();jPanelCenter2.add(jLabel3);jPanelCenter2.add(jTextField3);jPanelCenter.add(jPanelCenter2, BorderLayout.SOUTH);userJFrame.add(jPanelCenter, BorderLayout.CENTER);JPanel jPanelSouth = new JPanel();jPanelSouth.add(jButton1);jPanelSouth.add(jButton2);userJFrame.add(jPanelSouth, BorderLayout.SOUTH);jButton1.addActionListener((ActionListener) this);jButton2.addActionListener((ActionListener) this);jButton1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String username = jTextField1.getText();String data = jTextField2.getText();String email = jTextField3.getText();userDateBase userDateBase = new userDateBase();try {boolean result = userDateBase.Insert(username, data, email);if (result) {JOptionPane.showMessageDialog(userJFrame, "修改成功");} else {JOptionPane.showMessageDialog(userJFrame, "該用戶名已經存在,請修改用戶名");}} catch (SQLException ex) {ex.printStackTrace();} catch (ClassNotFoundException ex) {ex.printStackTrace();}}});jButton2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {userJFrame.setVisible(false);dispose();MenuJFrame menuJFrame = new MenuJFrame();}});}public void Init() {userJFrame.setSize(400, 200);userJFrame.setLocation(500, 500);userJFrame.setVisible(true);userJFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public static void main(String[] args) {UserInformation userInformation = new UserInformation();userInformation.Information();}@Overridepublic void actionPerformed(ActionEvent e) {} }

也不知道有沒有貼完,因為是個聯系所以爛尾了

總結

以上是生活随笔為你收集整理的javaSwing+MySQL实现图书管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。