Java awt 、swing 圖書館管理系統

Java圖書館管理系統

Java圖書館管理系統 源碼連接

我的環境配置
eclipse SqlSever
JDK 1.8 2008R2

數據庫 賬號 sa 密碼 爲空。

文件樹

在這裏插入圖片描述

LibraryTools.java

package com.ds.tools;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class LibraryTools {
	/**顯示窗體*/
	public static void showJFrame(JFrame jf){
		jf.setSize(800,600);
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jf.setLocationRelativeTo(null);
		jf.setVisible(true);
	}
	/**顯示對話框*/
	public static void showDialog(String model,String message){
		if(model != null && model.equals("SUCCESS")){
			JOptionPane.showMessageDialog(null, message,"消息提示對話框",JOptionPane.PLAIN_MESSAGE);
		}
		if(model != null && model.equals("ERROR")){
			JOptionPane.showMessageDialog(null, message,"錯誤提示框",JOptionPane.ERROR_MESSAGE);
		}
	}
}

DoString.java

package com.ds.tools;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DoString {
	/**將Date型數據轉化爲String*/
	public static String dateToStr(Date date){
		if(date == null){date = new Date();}
		SimpleDateFormat hFormat = new SimpleDateFormat("yyyy-MM-dd");
		return hFormat.format(date);
	}
	
	/**驗證輸入的日期格式好似夠合法*/
	public static boolean checkDate(String str){
		if(str != null && !str.equals("")){
			String regex = "((^19\\d)|(^20\\d))\\d-(\\d|1[0-2]?)-([1-9]|(1\\d)|2\\d|3[0-1])";
			Pattern p = Pattern.compile(regex);
			Matcher m = p.matcher(str);
			return m.matches();
		}
		return false;
	}
	
	/**驗證輸入的電話格式是否合法*/
	public static boolean checkphone(String str){
		if(str != null && !str.equals("")){
			String regex = "^1[3|4|5|8][0-9]\\d{8}$";
			Pattern p = Pattern.compile(regex);
			Matcher m = p.matcher(str);
			return m.matches();
		}
		return false;
	}
}

數據庫表爲

在這裏插入圖片描述

分別爲

在這裏插入圖片描述
在這裏插入圖片描述

LoginFrame.java 登錄界面

在這裏插入圖片描述

package com.ds.frame;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import com.ds.*;
import com.ds.db.OpDB;
import com.ds.tools.LibraryTools;
public class LoginFrame extends JFrame{
	private static final long serialVersionUID = 1L;
	public LoginFrame(){
		setLayout(new BorderLayout());
		JLabel label_logo = new JLabel(new ImageIcon("images/login.jpg"));
		add(label_logo,BorderLayout.NORTH);
		
		Box box_v = Box.createVerticalBox();
		Box box_name = Box.createHorizontalBox();
		JLabel label_operatorId = new JLabel("賬    號:");
		JTextField txt_name = new JTextField(18);
		box_name.add(Box.createHorizontalStrut(10));
		box_name.add(label_operatorId);
		box_name.add(Box.createHorizontalStrut(10));
		box_name.add(txt_name);
		box_name.add(Box.createHorizontalStrut(10));
		Box box_pwd = Box.createHorizontalBox();
		JLabel label_pwd = new JLabel("密    碼:");
		JPasswordField txt_pwd = new JPasswordField(18);
		box_pwd.add(Box.createHorizontalStrut(10));
		box_pwd.add(label_pwd);
		box_pwd.add(Box.createHorizontalStrut(10));
		box_pwd.add(txt_pwd);
		box_pwd.add(Box.createHorizontalStrut(10));
		
		box_v.add(Box.createVerticalStrut(10));
		box_v.add(box_name);
		box_v.add(Box.createVerticalStrut(10));
		box_v.add(box_pwd);
		add(box_v);
		box_v.add(Box.createVerticalStrut(15));
		Box box_h = Box.createHorizontalBox();
		JButton btn_login = new JButton("登錄");
		JButton btn_exit = new JButton("退出");
		btn_login.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				String operatorId = txt_name.getText();
				String password = "";
				char[] pwd = txt_pwd.getPassword();
				for(char c:pwd){
					password += c;
				}
				OpDB opdb = new OpDB();
				boolean flag = opdb.checkUser(operatorId,password);
				if(flag){
					new Library();
					LibraryTools.showDialog("SUCCESS", "歡迎您登錄圖書館管理系統");
					LoginFrame.this.dispose();
				}else{
					LibraryTools.showDialog("ERROR", "賬號或密碼輸入錯誤");
				}
			}
		});
		btn_exit.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
					System.exit(0);
			}
		});
		box_h.add(Box.createHorizontalGlue());
		box_h.add(btn_login);
		box_h.add(Box.createHorizontalGlue());
		box_h.add(btn_exit);
		box_h.add(Box.createHorizontalGlue());
		add(box_h,BorderLayout.SOUTH);
		
		pack();
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		setVisible(true);
	}
}

Library 主頁

在這裏插入圖片描述

package com.ds;
import java.awt.*;
import java.awt.event.*;
import java.beans.PropertyVetoException;
import javax.swing.*;
import com.ds.frame.*;
public class Library extends JFrame{
	private static final long serialVersionUID = 1L;
	private static final JDesktopPane DESKTOP_PANE = new JDesktopPane();
	private JMenuBar createJMenuBar(){
		JMenuBar bar = new JMenuBar();
		JMenu baseMenu = new JMenu();
		baseMenu.setIcon(new ImageIcon("images/jcsjcd.jpg"));
		JMenu readerMenu = new JMenu("讀者信息管理");
		JMenuItem addReaderMenuItem = new JMenuItem("添加讀者信息");
		addReaderMenuItem.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				AddReaderIFrame reader = new AddReaderIFrame(); //讀者相關信息添加
				reader.setVisible(true);
				try {
					reader.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(reader);
			}
		});
		JMenuItem editReaderMenuItem = new JMenuItem("讀者信息的修改與刪除");
		editReaderMenuItem.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				EditReaderIFrame edit_reader = new EditReaderIFrame();//讀者信息修改與刪除
				edit_reader.setVisible(true);
				try {
					edit_reader.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(edit_reader);
			}
		});
		readerMenu.add(addReaderMenuItem);
		readerMenu.add(editReaderMenuItem);
		JMenu bookTypeMenu = new JMenu("圖書類別管理");
		JMenuItem addBookTypeMenuItem = new JMenuItem("添加圖書類別");
		addBookTypeMenuItem.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				AddBookTypeIFrame book = new AddBookTypeIFrame();//圖書類別添加
				book.setVisible(true);
				try {
					book.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(book);
			}
		});
		JMenuItem editBookTypeMenuItem = new JMenuItem("圖書類別的修改與刪除");
		editBookTypeMenuItem.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				EditBookTypeIFrame book = new EditBookTypeIFrame();//圖書類別刪除
				book.setVisible(true);
				try {
					book.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(book);
			}
		});
		bookTypeMenu.add(addBookTypeMenuItem);
		bookTypeMenu.add(editBookTypeMenuItem);
		JMenu bookMenu = new JMenu("圖書信息管理");
		JMenuItem addBookMenuItem = new JMenuItem("添加圖書");
		addBookMenuItem.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				AddBookIFrame book = new AddBookIFrame();//圖書信息添加
				book.setVisible(true);
				try {
					book.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(book);
			}
		});
		JMenuItem editBookMenuItem = new JMenuItem("圖書信息的修改與刪除");
		editBookMenuItem.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				EditBookIFrame book = new EditBookIFrame();//圖書信息修改
				book.setVisible(true);
				try {
					book.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(book);
			}
		});
		bookMenu.add(addBookMenuItem);
		bookMenu.add(editBookMenuItem);
		baseMenu.add(readerMenu);
		baseMenu.add(bookTypeMenu);
		baseMenu.add(bookMenu);
		
		JMenu borrowMenu = new JMenu();
		borrowMenu.setIcon(new  ImageIcon("images/jyglcd.jpg"));
		JMenuItem bookborrow = new JMenuItem("圖書借閱");
		bookborrow.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				BookBorrowIFrame book = new BookBorrowIFrame();
				book.setVisible(true);
				try {
					book.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(book);
			}
		});
		JMenuItem bookreturn = new JMenuItem("圖書歸還");
		bookreturn.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				BookBackIFrame book = new BookBackIFrame();
				book.setVisible(true);
				try {
					book.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(book);
			}
		});
		JMenuItem bookrefrer = new JMenuItem("圖書查詢");
		bookrefrer.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				BookSearchIFrame seek = new BookSearchIFrame();
				seek.setVisible(true);
				try {
					seek.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(seek);
			}
		});
		borrowMenu.add(bookborrow);
		borrowMenu.add(bookreturn);
		borrowMenu.add(bookrefrer);
		
		JMenu newbook = new JMenu();
		newbook.setIcon(new ImageIcon("images/xsdgcd.jpg"));
		JMenuItem newbookorder = new JMenuItem("新書訂購");
		newbookorder.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				BookOrderIFrame order = new BookOrderIFrame();
				order.setVisible(true);
				try {
					order.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(order);
			}
		});
		JMenuItem newbookcheck = new JMenuItem("新書驗收");
		newbookcheck.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				BookCheckIFrame check = new BookCheckIFrame();
				check.setVisible(true);
				try {
					check.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(check);
			}
		});
		newbook.add(newbookorder);
		newbook.add(newbookcheck);
		
		JMenu system_main = new JMenu();
		system_main.setIcon(new ImageIcon("images/jcwhcd.jpg"));
		JMenuItem alter_pwd = new JMenuItem("更改密碼");
		alter_pwd.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				EditPwdIFrame pwd = new EditPwdIFrame();
				pwd.setVisible(true);
				try {
					pwd.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(pwd);
			}
		});
		JMenu user_control = new JMenu("用戶管理");
		JMenuItem adduser = new JMenuItem("用戶添加");
		adduser.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				AddUserIFrame user = new AddUserIFrame();
				user.setVisible(true);
				try {
					user.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(user);
			}
		});
		JMenuItem upandeluser = new JMenuItem("用戶修改與刪除");
		upandeluser.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				EditUserIFrame user = new EditUserIFrame();
				user.setVisible(true);
				try {
					user.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(user);
			}
		});
		user_control.add(adduser);
		user_control.add(upandeluser);
		system_main.add(alter_pwd);
		system_main.add(user_control);
		
		bar.add(baseMenu);
		bar.add(borrowMenu);
		bar.add(newbook);
		bar.add(system_main);
		return bar;
	}
	private JToolBar createJToolBar(){
		JToolBar bar = new JToolBar();
		JSeparator sep = new JSeparator(SwingConstants.VERTICAL);
		sep.setPreferredSize(new Dimension(20,20));
		JButton btn_addbook = new JButton(new ImageIcon("images/bookAddtb.jpg"));
		JButton btn_editbook = new JButton(new ImageIcon("images/bookModiAndDeltb.jpg"));
		btn_addbook.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				AddBookIFrame book = new AddBookIFrame();//圖書信息添加
				book.setVisible(true);
				try {
					book.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(book);
			}
		});
		btn_editbook.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				EditBookIFrame book = new EditBookIFrame();//圖書信息修改
				book.setVisible(true);
				try {
					book.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(book);
			}
		});
		bar.add(btn_addbook);
		bar.add(btn_editbook);
		JButton btn_addbooktype = new JButton(new ImageIcon("images/bookTypeAddtb.jpg"));
		btn_addbooktype.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				AddBookTypeIFrame book = new AddBookTypeIFrame();//圖書類別添加
				book.setVisible(true);
				try {
					book.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(book);
			}
		});
		bar.add(btn_addbooktype);
		JButton btn_bookborrow = new JButton(new ImageIcon("images/bookBorrowtb.jpg"));
		btn_bookborrow.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				BookBorrowIFrame book = new BookBorrowIFrame();
				book.setVisible(true);
				try {
					book.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(book);
			}
		});
		bar.add(btn_bookborrow);
		JButton btn_newbookorder = new JButton(new ImageIcon("images/bookOrdertb.jpg"));
		JButton btn_newbookcheck = new JButton(new ImageIcon("images/newbookChecktb.jpg"));
		btn_newbookorder.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				BookOrderIFrame order = new BookOrderIFrame();
				order.setVisible(true);
				try {
					order.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(order);
			}
		});
		btn_newbookcheck.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				BookCheckIFrame check = new BookCheckIFrame();
				check.setVisible(true);
				try {
					check.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(check);
			}
		});
		bar.add(btn_newbookorder);
		bar.add(btn_newbookcheck);
		JButton btn_addReader = new JButton(new ImageIcon("images/readerAddtb.jpg"));
		JButton btn_editReader = new JButton(new ImageIcon("images/readerModiAndDeltb.jpg"));
		btn_addReader.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				AddReaderIFrame reader = new AddReaderIFrame(); //讀者相關信息添加
				reader.setVisible(true);
				try {
					reader.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(reader);
			}
		});
		btn_editReader.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				EditReaderIFrame edit_reader = new EditReaderIFrame();//讀者信息修改與刪除
				edit_reader.setVisible(true);
				try {
					edit_reader.setSelected(true);
				} catch (PropertyVetoException e1) {
					e1.printStackTrace();
				}
				DESKTOP_PANE.removeAll();
				DESKTOP_PANE.add(edit_reader);
			}
		});
		bar.add(btn_addReader);
		bar.add(btn_editReader);
		JButton btn_exitsystem = new JButton(new ImageIcon("images/exittb.jpg"));
		btn_exitsystem.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				Library.this.dispose();
			}
		});
		bar.add(btn_exitsystem);
		return bar;
	}
	public Library(){
		JMenuBar bar = createJMenuBar();
		setJMenuBar(bar);
		setTitle("圖書館管理系統");
		JLabel label_main = new JLabel(new ImageIcon("images/backImage.jpg"));
		getContentPane().add(label_main);
		JToolBar toolBar = createJToolBar();
		getContentPane().add(toolBar,BorderLayout.NORTH);
		getContentPane().add(DESKTOP_PANE);
		setSize(800,600);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		setVisible(true);
	}
}

AddReaderIFrame.java 讀者信息添加

在這裏插入圖片描述

EditReaderIFrame.java 讀者信息修改

在這裏插入圖片描述

EditBookIFrame.java 圖書信息的修改與刪除

在這裏插入圖片描述

BookSearchIFrame.java 圖書查詢

在這裏插入圖片描述

EditPwdIFrame.java 更改密碼

在這裏插入圖片描述

AddUserIFrame.java 用戶添加

在這裏插入圖片描述

EditUserIFrame.java 用戶修改

在這裏插入圖片描述

Java 圖書館管理系統下載
內涵數據庫文件
初始賬號與密碼均爲123456
賬號密碼在數據庫中 tb_operator 表中
賬號列爲:operatorId 密碼列爲:password

【CSDN下載】https://download.csdn.net/download/qq_43466804/11617398
有條件的小夥伴們支持一下

【百度雲】鏈接: https://pan.baidu.com/s/16W9xGbnc57FvGLqhaIkbQw 提取碼: mku3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章