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