51CTO下载-Java - 项目开发实例 - 图书信息管理系统开发文档及源码

更新时间:2023-10-24 04:11:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Java 开发实例 源码——图书信息管理系统

图书信息管理系统

一、 系统功能概述:

根据图书信息管理系统的特点,可以将本系统分为2大功能模块,分别

为:基础数据维护、系统数据维护。本系统各个部分及其包括的具体功能模块如下图所示:

二、 数据库设计: 图书信息表: 字段名 ISBN typeId Bookname Writer Translater Publisher Date Price 1

说明 国际标准书号 图书类型id 书名 作者 译者 出版社 出版日期 价格 类型 Varchar(13) Int Varchar(40) Varchar(21) Varchar(30) Varchar(50) Smalldatetime money 长度及备注 主键 可以为空 Java 开发实例 源码——图书信息管理系统

图书类别表: 字段名 TypeName Id

用户信息表: 字段名 Id Name Sex Age Identitycard Workdate Tel Yajin Password admin 读者信息表: 字段名 Name Sex Age identityCard Date manNum Tel keepMoney Zj Zy ISBN bztime 说明 姓名 性别 年龄 证件号码 日期 最大书量 电话号码 押金 证件类型 职业 国际标准书号 办证时间 类型 Varchar(10) Varchar(2) int Varchar(30) Smalldatetime Int Varchar(15) Miney Int Varchar(50) Varchar(13) datetime 长度及备注 说明 自动编号 姓名 性别 年龄 证件号码 办证日期 电话号码 押金 密码 管理员 类型 Int Varchar(2) Varchar(2) int Varchar(2) datetime Varchar(2) Int Nvarchar(10) Nchar(10) 长度及备注 主键 说明 图书类型 自动编号 类型 Varchar(20) Int 长度及备注 主键 三、 系统源代码: Com.zhang.dao:Dao.java //数据库的连接与操作类 package com.zhang.dao;

import java.sql.Connection; import java.sql.Date;

import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException;

2

Java 开发实例 源码——图书信息管理系统

import java.util.ArrayList; import java.util.List;

import com.zhang.model.BookInfo; import com.zhang.model.BookType; import com.zhang.model.Operator; import com.zhang.model.Reader; import com.zhang.model.User;

public class Dao {

protected static String dbClassName =

protected static String dbUrl = \

+ \; protected static String dbUser = \; protected static String dbPwd = \; protected static String second = null; private static Connection conn = null; //创建数据库连接 private Dao() { } try { }

if (conn == null) {

Class.forName(dbClassName).newInstance();

conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);

\;

System.out.println(\数据库连接成功!\); } else return; } catch (Exception ee) { ee.printStackTrace(); //执行查询 private static ResultSet executeQuery(String sql) {

try {

if(conn==null) new Dao(); return

conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql);

} catch (SQLException e) {

e.printStackTrace(); return null;

3

Java 开发实例 源码——图书信息管理系统

}

} finally { }

//执行更新 private static int executeUpdate(String sql) {

try {

if(conn==null)

new Dao();

return conn.createStatement().executeUpdate(sql); System.out.println(e.getMessage());

//if(e.getMessage().equals(\

} catch (SQLException e) {

Driver for JDBC][SQLServer]DELETE 语句与 COLUMN REFERENCE 约束

'FK_TB_BORRO_REFERENCE_TB_BOOKI' 冲突。该冲突发生于数据库 'db_library',表 'tb_borrow', column 'bookISBN'。\ return -1;

}

//关闭数据库

public static void close() { /*

* 管理员登录方法 */

public static Operator check(String name, String password) {

int i = 0;

Operator operater=new Operator();

String sql = \ + name

+ \ + password + \;

ResultSet rs = Dao.executeQuery(sql); try {

while (rs.next()) {

String names = rs.getString(1); operater.setId(rs.getString(\)); operater.setName(rs.getString(\));

4

} finally { }

try { }

conn.close(); e.printStackTrace(); conn = null;

} catch (SQLException e) { }finally{ }

Java 开发实例 源码——图书信息管理系统

} /*

}

}

operater.setGrade(rs.getString(\)); operater.setPassword(rs.getString(\)); if (names != null) { }

i = 1;

} catch (Exception e) {

e.printStackTrace();

Dao.close(); return operater;

* 查询类别方法 */

//查询图书目录 public static List selectBookCategory() {

} public static List selectBookCategory(String bookType) {

List list=new ArrayList(); String sql = \ResultSet rs = Dao.executeQuery(sql); try {

while (rs.next()) {

BookType type=new BookType(); type.setDays(rs.getString(\)); list.add(type);

5

List list=new ArrayList();

String sql = \; ResultSet rs = Dao.executeQuery(sql); try { } Dao.close(); return list; while (rs.next()) { } e.printStackTrace(); BookType bookType=new BookType(); bookType.setId(rs.getString(\));

bookType.setTypeName(rs.getString(\)); list.add(bookType); } catch (Exception e) { typeName='\+bookType+\;

Java 开发实例 源码——图书信息管理系统

} /*

}

}

e.printStackTrace();

} catch (Exception e) {

Dao.close(); return list;

* 图书类别表相关操作 * */

//插入图书类型 public static int InsertBookType(String bookTypeName){

}

int i=0; try{ }

return i;

String sql=\i=Dao.executeUpdate(sql); e.printStackTrace();

values('\+bookTypeName+\;

}catch(Exception e){

//更新图书类别 public static int UpdatebookType(String id,String typeName){ }

int i=0; try{ } Dao.close(); return i;

String sql=\+typeName+\//System.out.println(sql); i=Dao.executeUpdate(sql); e.printStackTrace(); where id='\+id+\;

}catch(Exception e){

//删除图书类别 public static int DelbookType(String id){

int i=0; try{

String sql=\+id+\; //System.out.println(sql);

6

Java 开发实例 源码——图书信息管理系统

} /*

}

i=Dao.executeUpdate(sql); e.printStackTrace();

}catch(Exception e){

Dao.close(); return i;

* 图书信息表相关操作 */ /*

* 插入图书信息方法 */

//插入图书信息 public static int Insertbook(String ISBN,String typeId,String bookname,String writer,String translator,String publisher,Date date,Double price){

int i=0; try{

String sql=\

tb_bookInfo(ISBN,typeId,bookname,writer,translator,publisher,date,price)

values('\+ISBN+\+typeId+\+bookname+\+writer+\+translator+\+publisher+\+date+\+price+\;

} /* * 查询图书相关信息 * */ public static List selectBookInfo() {

List list=new ArrayList(); String sql = \; ResultSet rs = Dao.executeQuery(sql); try {

while (rs.next()) {

BookInfo bookinfo=new BookInfo(); bookinfo.setISBN(rs.getString(\));

7

} //System.out.println(sql); i=Dao.executeUpdate(sql); System.out.println(e.getMessage()); }catch(Exception e){ Dao.close(); return i; Java 开发实例 源码——图书信息管理系统

}

}

}

bookinfo.setTypeid(rs.getString(\)); bookinfo.setBookname(rs.getString(\)); bookinfo.setWriter(rs.getString(\));

bookinfo.setTranslator(rs.getString(\)); bookinfo.setPublisher(rs.getString(\)); bookinfo.setDate(rs.getDate(\)); bookinfo.setPrice(rs.getDouble(\)); list.add(bookinfo);

} catch (Exception e) {

e.printStackTrace();

Dao.close(); return list;

public static List selectBookInfo(String ISBN) { } /*

* 修改图书信息方法 */

List list=new ArrayList();

String sql = \* from tb_bookInfo where ISBN='\+ISBN+\; ResultSet rs = Dao.executeQuery(sql); try { } Dao.close(); return list;

while (rs.next()) { } e.printStackTrace(); BookInfo bookinfo=new BookInfo(); bookinfo.setISBN(rs.getString(\)); bookinfo.setTypeid(rs.getString(\)); bookinfo.setBookname(rs.getString(\)); bookinfo.setWriter(rs.getString(\));

bookinfo.setTranslator(rs.getString(\)); bookinfo.setPublisher(rs.getString(\)); bookinfo.setDate(rs.getDate(\)); bookinfo.setPrice(rs.getDouble(\)); list.add(bookinfo); } catch (Exception e) {

//更新图书信息 public static int Updatebook(String ISBN,String typeId,String bookname,String writer,String translator,String publisher,Date

8

Java 开发实例 源码——图书信息管理系统

date,Double price){

int i=0; try{

String sql=\

ISBN='\+ISBN+\+typeId+\+bookname+\+writer+\+translator+\+publisher+\='\+date+\+price+\+ISBN+\;

}

}

Dao.close(); return i;

//System.out.println(sql); i=Dao.executeUpdate(sql); e.printStackTrace();

}catch(Exception e){

// /*

// * 删除图书信息方法 // */

public static int Delbook(String ISBN){ } /*

* 对读者信息表执行的相关操作 */

int i=0; try{ }

Dao.close(); return i; String sql=\+ISBN+\; //System.out.println(sql); i=Dao.executeUpdate(sql); e.printStackTrace();

}catch(Exception e){ //增加读者信息 public static int InsertReader(String name,String sex,String age,String identityCard,Date date,String maxNum,String tel,Double keepMoney,String zj,String zy,Date bztime,String ISBN){

int i=0; try{

String sql=\

tb_reader(name,sex,age,identityCard,date,maxNum,tel,keepMoney,zj,zy,bztime,ISBN)

values('\+name+\+sex+\+age+\+identityCard+\+date+\\+maxNum+\+tel+\+keepMoney+\+zj+\+zy+\+bztime+\

9

Java 开发实例 源码——图书信息管理系统

+ISBN+\;

}

public static List selectReader() { } public static List selectReader(String readerISBN) {

List list=new ArrayList();

String sql = \ResultSet rs = Dao.executeQuery(sql); try {

while (rs.next()) {

10

}

System.out.println(sql); i=Dao.executeUpdate(sql); e.printStackTrace();

}catch(Exception e){

Dao.close(); return i;

List list=new ArrayList();

String sql = \; ResultSet rs = Dao.executeQuery(sql); try { } Dao.close(); return list;

while (rs.next()) { } e.printStackTrace(); Reader reader=new Reader();

//reader.setId(rs.getString(\ reader.setName(rs.getString(\)); reader.setSex(rs.getString(\)); reader.setAge(rs.getString(\));

reader.setIdentityCard(rs.getString(\)); reader.setDate(rs.getDate(\)); reader.setMaxNum(rs.getString(\)); reader.setTel(rs.getString(\));

reader.setKeepMoney(rs.getDouble(\)); reader.setZj(rs.getInt(\)); reader.setZy(rs.getString(\)); reader.setISBN(rs.getString(\)); reader.setBztime(rs.getDate(\)); list.add(reader); } catch (Exception e) { ISBN='\+readerISBN+\;

Java 开发实例 源码——图书信息管理系统

}

}

}

Reader reader=new Reader();

reader.setName(rs.getString(\)); reader.setSex(rs.getString(\)); reader.setAge(rs.getString(\));

reader.setIdentityCard(rs.getString(\)); reader.setDate(rs.getDate(\)); reader.setMaxNum(rs.getString(\)); reader.setTel(rs.getString(\));

reader.setKeepMoney(rs.getDouble(\)); reader.setZj(rs.getInt(\)); reader.setZy(rs.getString(\)); reader.setISBN(rs.getString(\)); reader.setBztime(rs.getDate(\)); list.add(reader);

} catch (Exception e) {

e.printStackTrace();

Dao.close(); return list;

//更新读者信息 public static int UpdateReader(String id,String name,String sex,String age,String identityCard,Date date,String maxNum,String tel,Double keepMoney,String zj,String zy,Date bztime,String ISBN){

int i=0; try{

String sql=\

name='\+name+\+sex+\+age+\+identityCard+\+date+\+maxNum+\+tel+\+keepMoney+\+zj+\+zy+\+bztime+\ISBN='\+ISBN+\;

}

}

Dao.close(); return i;

i=Dao.executeUpdate(sql); e.printStackTrace(); }catch(Exception e){

//删除读者信息 public static int DelReader(String ISBN){

int i=0; try{

String sql=\+ISBN+\;

11

Java 开发实例 源码——图书信息管理系统

}

}

//System.out.println(sql); i=Dao.executeUpdate(sql); e.printStackTrace();

}catch(Exception e){

Dao.close(); return i;

//new

public static List selectbookserch() { } //插入管理员

public static int Insertoperator(String name,String sex,int

List list=new ArrayList();

String sql = \; ResultSet s = Dao.executeQuery(sql); try { }

Dao.close(); return list; while (s.next()) { }

e.printStackTrace(); BookInfo bookinfo=new BookInfo(); bookinfo.setISBN(s.getString(1)); bookinfo.setTypeid(s.getString(2)); bookinfo.setBookname(s.getString(3)); bookinfo.setWriter(s.getString(4)); bookinfo.setTranslator(s.getString(5)); bookinfo.setPublisher(s.getString(6)); bookinfo.setDate(s.getDate(7)); bookinfo.setPrice(s.getDouble(8)); list.add(bookinfo); } catch (Exception e) { age,String identityCard,Date workdate,String tel,String password,int yajin){

int i=0; try{

String sql=\

tb_operator(name,sex,age,identityCard,workdate,tel,password,yajin) values('\+name+\+sex+\+age+\+identityCard+\+workdate+\,'\+tel+\+password+\+yajin+\;

System.out.println(sql);

12

Java 开发实例 源码——图书信息管理系统

}

i=Dao.executeUpdate(sql); e.printStackTrace();

}catch(Exception e){

Dao.close(); return i;

}

public static List selectuser() {

List list=new ArrayList();

String sql = \id,name,sex,age,yajin,workdate,tel,password ResultSet rs = Dao.executeQuery(sql); try { }

Dao.close(); return list; while (rs.next()) { }

e.printStackTrace(); User user=new User(); user.setId(rs.getInt(1)); user.setName(rs.getString(2)); user.setSex(rs.getString(3)); user.setAge(rs.getInt(4)); //user.setIdentityCard(rs.getString(5)); user.setYajin(rs.getInt(5)); user.setWorkdate(rs.getDate(6)); user.setTel(rs.getString(7)); user.setPassword(rs.getString(8)); list.add(user); from tb_operator where admin=0\;

} catch (Exception e) { }

//删除用户

public static int Deluser(int id){

int i=0; try{ }

Dao.close(); return i;

13

String sql=\+id+\; //System.out.println(sql); i=Dao.executeUpdate(sql); e.printStackTrace();

}catch(Exception e){

Java 开发实例 源码——图书信息管理系统

}

public static int Updateuser(int id,String name,String sex,int

int i=0; try{

String sql=\

age,String identityCard,Date workdate,String tel,String password){

name='\+name+\+sex+\+age+\+identityCard+\+workdate+\+tel+\+password+\where id='\+id+\; } }

public static int Updatepass(String password,String name){

int i=0; try{ }

Dao.close(); return i; String sql=\+password+\

i=Dao.executeUpdate(sql); e.printStackTrace(); }

Dao.close(); return i;

i=Dao.executeUpdate(sql); e.printStackTrace(); }catch(Exception e){

where name='\+name+\;

}catch(Exception e){ }

Com.zhang.iframe: //窗体包

14

Java 开发实例 源码——图书信息管理系统

BookAddIFrame.java //图书信息添加

package com.zhang.iframe; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.SystemColor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusAdapter; import java.awt.event.FocusEvent; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.net.URL; import java.text.SimpleDateFormat; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.swing.DefaultComboBoxModel; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JComboBox;

import javax.swing.JFormattedTextField; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField;

15

Java 开发实例 源码——图书信息管理系统

}

*/

private JMenuBar createMenu() { // 创建菜单栏的方法 JMenuBar menuBar = new JMenuBar(); }

JMenu baseMenu = new JMenu();// 初始化基础数据维护菜单 baseMenu.setIcon(CreateIcon.add(\)); { }

JMenu sysManageMenu = new JMenu(); // 系统维护

sysManageMenu.setIcon(CreateIcon.add(\)); JMenu userManageMItem = new JMenu(\用户管理\); // 用户管理 userManageMItem.add(MenuActions.USER_ADD); userManageMItem.add(MenuActions.USER_MODIFY); sysManageMenu.add(MenuActions.MODIFY_PASSWORD); sysManageMenu.add(userManageMItem); menuBar.add(baseMenu); // 添加基础数据维护菜单到菜单栏 menuBar.add(sysManageMenu); // 添加系统维护菜单到菜单栏 return menuBar;

JMenu readerManagerMItem = new JMenu(\读者信息管理\); readerManagerMItem.add(MenuActions.READER_ADD); readerManagerMItem.add(MenuActions.READER_MODIFY); JMenu bookTypeManageMItem = new JMenu(\图书类别管理\); bookTypeManageMItem.add(MenuActions.BOOKTYPE_ADD); bookTypeManageMItem.add(MenuActions.BOOKTYPE_MODIFY); JMenu menu = new JMenu(\图书信息管理\); menu.add(MenuActions.BOOK_ADD); menu.add(MenuActions.BOOK_MODIFY); baseMenu.add(readerManagerMItem); baseMenu.add(bookTypeManageMItem); baseMenu.add(menu); baseMenu.addSeparator(); baseMenu.add(MenuActions.EXIT);

ModifyPass.java //密码修改窗口 package com.zhang.iframe;

import java.awt.Color;

46

Java 开发实例 源码——图书信息管理系统

import java.awt.Font;

import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPasswordField; import javax.swing.JTextField;

import com.zhang.dao.Dao;

import com.zhang.model.Operator; import com.zhang.util.MyDocument;

public class ModifyPass extends JInternalFrame{

private JLabel name;

private JPasswordField oldPass; private JPasswordField newPass2; private JPasswordField newPass1; private JLabel userName; private JTextField username; private Operator user = LoginIFrame.getUser();

public ModifyPass() {

super();

setIconifiable(true); setTitle(\更改密码\); setClosable(true);

getContentPane().setLayout(new GridBagLayout()); setBounds(100, 100, 300, 228); final JLabel label_4 = new JLabel();

label_4.setFont(new Font(\, Font.PLAIN, 14)); label_4.setForeground(Color.RED);

label_4.setText(\注:每个操作员只能修改自己的密码。\);

final GridBagConstraints gridBagConstraints_10 = new gridBagConstraints_10.weighty = 1.0;

47

GridBagConstraints();

Java 开发实例 源码——图书信息管理系统

gridBagConstraints_10.gridwidth = 4; gridBagConstraints_10.gridx = 0; gridBagConstraints_10.gridy = 0;

getContentPane().add(label_4, gridBagConstraints_10);

final JLabel label_5 = new JLabel();

label_5.setFont(new Font(\, Font.PLAIN, 14)); label_5.setText(\登 录 名:\);

final GridBagConstraints gridBagConstraints_11 = new gridBagConstraints_11.gridy = 2; gridBagConstraints_11.gridx = 0;

getContentPane().add(label_5, gridBagConstraints_11); username =new JTextField(user.getName()); final GridBagConstraints gridBagConstraints_12 = new gridBagConstraints_12.gridy = 2; gridBagConstraints_12.gridx = 1; gridBagConstraints_12.fill = GridBagConstraints.HORIZONTAL; getContentPane().add(username, gridBagConstraints_12);

username.setEditable(false);

final JLabel label_1 = new JLabel();

label_1.setFont(new Font(\, Font.PLAIN, 14)); label_1.setText(\旧 密 码:\);

final GridBagConstraints gridBagConstraints_2 = new gridBagConstraints_2.gridy = 3; gridBagConstraints_2.gridx = 0;

getContentPane().add(label_1, gridBagConstraints_2); oldPass = new JPasswordField();

oldPass.setDocument(new MyDocument(6));

final GridBagConstraints gridBagConstraints_3 = new gridBagConstraints_3.weighty = 1.0;

gridBagConstraints_3.insets = new Insets(0, 0, 0, 10); gridBagConstraints_3.fill = GridBagConstraints.HORIZONTAL; gridBagConstraints_3.gridwidth = 3; gridBagConstraints_3.gridy = 3; gridBagConstraints_3.gridx = 1;

getContentPane().add(oldPass, gridBagConstraints_3);

48

GridBagConstraints();

GridBagConstraints();

GridBagConstraints(); GridBagConstraints();

Java 开发实例 源码——图书信息管理系统

newPass2 = new JPasswordField();

newPass2.setDocument(new MyDocument(6));

newPass2.setFont(new Font(\, Font.PLAIN, 14)); final GridBagConstraints gridBagConstraints_7 = new gridBagConstraints_7.weighty = 1.0; gridBagConstraints_7.ipadx = 30;

gridBagConstraints_7.insets = new Insets(0, 0, 0, 10); gridBagConstraints_7.fill = GridBagConstraints.HORIZONTAL; gridBagConstraints_7.weightx = 1.0; gridBagConstraints_7.gridwidth = 3;

49

final JLabel label_2 = new JLabel();

label_2.setFont(new Font(\, Font.PLAIN, 14)); label_2.setText(\新 密 码:\);

final GridBagConstraints gridBagConstraints_4 = new gridBagConstraints_4.gridy = 4; gridBagConstraints_4.gridx = 0;

getContentPane().add(label_2, gridBagConstraints_4); newPass1 = new JPasswordField();

newPass1.setDocument(new MyDocument(6));

newPass1.setFont(new Font(\, Font.PLAIN, 14)); final GridBagConstraints gridBagConstraints_5 = new gridBagConstraints_5.weighty = 1.0; gridBagConstraints_5.ipadx = 30;

gridBagConstraints_5.insets = new Insets(0, 0, 0, 10); gridBagConstraints_5.fill = GridBagConstraints.HORIZONTAL; gridBagConstraints_5.gridwidth = 3; gridBagConstraints_5.gridy = 4; gridBagConstraints_5.gridx = 1; getContentPane().add(newPass1, gridBagConstraints_5); final JLabel label_3 = new JLabel();

label_3.setFont(new Font(\, Font.PLAIN, 14)); label_3.setText(\确认新密码:\);

final GridBagConstraints gridBagConstraints_6 = new gridBagConstraints_6.gridy = 5; gridBagConstraints_6.gridx = 0;

getContentPane().add(label_3, gridBagConstraints_6); GridBagConstraints();

GridBagConstraints();

GridBagConstraints(); GridBagConstraints(); Java 开发实例 源码——图书信息管理系统

gridBagConstraints_7.gridy = 5; gridBagConstraints_7.gridx = 1;

getContentPane().add(newPass2, gridBagConstraints_7); final JButton button = new JButton();

button.addActionListener(new ActionListener() {

public void actionPerformed(final ActionEvent e) {

if (oldPass.getText().equals(user.getPassword())) {

oldPass.setText(null); newPass1.setText(null); newPass2.setText(null); JOptionPane.showMessageDialog(getContentPane(), doDefaultCloseAction(); JOptionPane.showMessageDialog(getContentPane(), if (newPass1.getText().equals(newPass2.getText())) { user.setPassword(newPass1.getText()); Dao.Updatepass(user.getPassword(),user.getName()); \密码修改成功。\);

}else { \两次输入的密码不一致,请重新输入。\); }

}else {

JOptionPane.showMessageDialog(getContentPane(), \旧

密码输入错误,请确认密码。\); }

final JButton button_1 = new JButton();

button_1.addActionListener(new ActionListener() {

public void actionPerformed(final ActionEvent e) { }

50

}

});

button.setText(\确认\);

final GridBagConstraints gridBagConstraints_8 = new gridBagConstraints_8.weighty = 1.0;

gridBagConstraints_8.anchor = GridBagConstraints.EAST; gridBagConstraints_8.gridy = 6; gridBagConstraints_8.gridx = 1;

getContentPane().add(button, gridBagConstraints_8);

GridBagConstraints(); oldPass.setText(null); newPass1.setText(null); newPass2.setText(null);

Java 开发实例 源码——图书信息管理系统

String translators=translator.getText().trim(); String bookNames=bookName.getText().trim(); String writers=writer.getText().trim();

String publishers=(String)publisher.getText().trim(); String pubDates=pubDate.getText().trim(); String prices=price.getText().trim();

int i=Dao.Insertbook(ISBNs,bookTypes, bookNames, writers,

translators, publishers,

java.sql.Date.valueOf(pubDates),Double.parseDouble(prices)); }

}

class NumberListener extends KeyAdapter { }

public void keyTyped(KeyEvent e) { }

String numStr=\+(char)8; if(numStr.indexOf(e.getKeyChar())<0){ }

e.consume();

}

}

JOptionPane.showMessageDialog(null, \添加成功\); doDefaultCloseAction(); if(i==1){

21

Java 开发实例 源码——图书信息管理系统

BookModiAndDelIFrame.java //图书信息修改与删除 package com.zhang.iframe;

import java.awt.BorderLayout; import java.awt.Color;

import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.SystemColor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.sql.Date; import java.text.SimpleDateFormat; import java.util.HashMap; import java.util.List; import java.util.Map;

import javax.swing.DefaultComboBoxModel; import javax.swing.ImageIcon;

22

Java 开发实例 源码——图书信息管理系统

import javax.swing.JButton; import javax.swing.JComboBox;

import javax.swing.JFormattedTextField; import javax.swing.JInternalFrame; import javax.swing.JLabel;

import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField;

import javax.swing.SwingConstants; import javax.swing.border.EmptyBorder; import javax.swing.border.LineBorder;

import javax.swing.table.DefaultTableModel;

import com.zhang.util.Item; import com.zhang.util.MapPz; import com.zhang.dao.Dao;

import com.zhang.model.BookInfo; import com.zhang.model.BookType; import com.zhang.util.CreateIcon; import com.zhang.util.MyDocument; /**

* 名称:图书修改窗体 * */

public class BookModiAndDelIFrame extends JInternalFrame { private JTable table; private JFormattedTextField price; private JFormattedTextField pubDate; private JTextField translator; private JTextField publisher; private JTextField writer; private JTextField ISBN; private JTextField bookName; private JComboBox bookType; DefaultComboBoxModel bookTypeModel; private Item item; Map map=new HashMap(); private String[] columnNames; private Map m=MapPz.getMap(); //取数据库中图书相关信息放入表格中 private Object[][] getFileStates(List list){

23

Java 开发实例 源码——图书信息管理系统

String[] columnNames = { \图书编号\图书类别\图书名称\作者\译者\出版商\ \出版日期\价格\ Object[][]results=new Object[list.size()][columnNames.length]; for(int i=0;i

24

Java 开发实例 源码——图书信息管理系统

final JButton button_2 = new JButton();

button_2.addActionListener(new ActionListener(){ public void actionPerformed(final ActionEvent e) { String ISBNs=ISBN.getText().trim(); int i=Dao.Delbook(ISBNs); if(i==1){ JOptionPane.showMessageDialog(null, \删除成功\ Object[][] results=getFileStates(Dao.selectBookInfo()); //注释代码为使用表格模型 DefaultTableModel model=new DefaultTableModel(); table.setModel(model); model.setDataVector(results, columnNames); } } });

button_2.setText(\删除\

panel_1.add(button_2);

final JButton button_1 = new JButton();

button_1.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { doDefaultCloseAction(); } });

button_1.setText(\关闭\panel_1.add(button_1); final JLabel headLogo = new JLabel(); ImageIcon bookModiAndDelIcon=CreateIcon.add(\headLogo.setIcon(bookModiAndDelIcon); headLogo.setOpaque(true); headLogo.setBackground(Color.CYAN); headLogo.setPreferredSize(new Dimension(400, 80)); headLogo.setBorder(new LineBorder(SystemColor.activeCaptionBorder, 1, false)); getContentPane().add(headLogo, BorderLayout.NORTH); final JPanel panel_2 = new JPanel();

final BorderLayout borderLayout_1 = new BorderLayout(); borderLayout_1.setVgap(5);

panel_2.setLayout(borderLayout_1);

panel_2.setBorder(new EmptyBorder(5, 10, 5, 10)); getContentPane().add(panel_2);

25

Java 开发实例 源码——图书信息管理系统

final JScrollPane scrollPane = new JScrollPane(); panel_2.add(scrollPane);

Object[][] results=getFileStates(Dao.selectBookInfo());

columnNames = new String[]{\图书编号\图书类别\图书名称\作者\译者\出版商\出版日期\ \价格\ table = new JTable(results,columnNames); table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

//鼠标单击表格中的内容产生事件,将表格中的内容放入文本框中 table.addMouseListener(new TableListener());

scrollPane.setViewportView(table);

final JPanel bookPanel = new JPanel();

panel_2.add(bookPanel, BorderLayout.SOUTH); final GridLayout gridLayout = new GridLayout(0, 6); gridLayout.setVgap(5); gridLayout.setHgap(5);

bookPanel.setLayout(gridLayout);

final JLabel label_2 = new JLabel(); label_2.setHorizontalAlignment(SwingConstants.CENTER); label_2.setText(\书 号:\bookPanel.add(label_2); ISBN = new JTextField(); ISBN.setDocument(new MyDocument(13)); bookPanel.add(ISBN); final JLabel label = new JLabel(); label.setHorizontalAlignment(SwingConstants.CENTER); label.setText(\类 别:\bookPanel.add(label); bookType = new JComboBox();

bookTypeModel= (DefaultComboBoxModel)bookType.getModel(); List list=Dao.selectBookCategory(); for(int i=0;i

26

Java 开发实例 源码——图书信息管理系统

map.put(item.getId(), item); }

bookPanel.add(bookType);

final JLabel label_1 = new JLabel();

label_1.setHorizontalAlignment(SwingConstants.CENTER); label_1.setText(\书 名:\bookPanel.add(label_1); bookName = new JTextField(); bookPanel.add(bookName);

final JLabel label_3 = new JLabel();

label_3.setHorizontalAlignment(SwingConstants.CENTER); label_3.setText(\作 者:\bookPanel.add(label_3); writer = new JTextField(); bookPanel.add(writer);

final JLabel label_2_1 = new JLabel();

label_2_1.setHorizontalAlignment(SwingConstants.CENTER); label_2_1.setText(\出 版 社:\bookPanel.add(label_2_1); publisher = new JTextField(); bookPanel.add(publisher); final JLabel label_4 = new JLabel(); label_4.setHorizontalAlignment(SwingConstants.CENTER); label_4.setText(\译 者:\bookPanel.add(label_4); translator = new JTextField(); bookPanel.add(translator);

final JLabel label_1_1 = new JLabel();

label_1_1.setHorizontalAlignment(SwingConstants.CENTER); label_1_1.setText(\出 版 日 期:\bookPanel.add(label_1_1);

SimpleDateFormat myfmt=new SimpleDateFormat(\pubDate= new JFormattedTextField(myfmt.getDateInstance());

27

Java 开发实例 源码——图书信息管理系统

pubDate.setValue(new java.util.Date()); bookPanel.add(pubDate);

final JLabel label_3_1 = new JLabel();

label_3_1.setHorizontalAlignment(SwingConstants.CENTER); label_3_1.setText(\单 价:\bookPanel.add(label_3_1);

price= new JFormattedTextField(); price.addKeyListener(new NumberListener()); bookPanel.add(price); setVisible(true); }

class TableListener extends MouseAdapter { public void mouseClicked(final MouseEvent e) { String ISBNs, typeids, bookNames,writers,translators,publishers,dates,prices; int selRow = table.getSelectedRow(); ISBNs = table.getValueAt(selRow, 0).toString().trim(); typeids = table.getValueAt(selRow, 1).toString().trim(); bookNames = table.getValueAt(selRow, 2).toString().trim(); writers = table.getValueAt(selRow, 3).toString().trim(); translators = table.getValueAt(selRow, 4).toString().trim(); publishers = table.getValueAt(selRow, 5).toString().trim(); dates = table.getValueAt(selRow, 6).toString().trim(); prices = table.getValueAt(selRow, 7).toString().trim(); ISBN.setText(ISBNs); //bookTypeModel.setSelectedItem(item); bookTypeModel.setSelectedItem(typeids); bookName.setText(bookNames); writer.setText(writers); translator.setText(translators); publisher.setText(publishers); pubDate.setText(dates); price.setText(prices); } }

class addBookActionListener implements ActionListener { public void actionPerformed(final ActionEvent e) { // 修改图书信息表 if(ISBN.getText().length()==0){ JOptionPane.showMessageDialog(null, \书号文本框不可以为空或则输入数

28

Java 开发实例 源码——图书信息管理系统

字不可以大于13个\ return; } if(ISBN.getText().length()!=13){

JOptionPane.showMessageDialog(null, \书号文本框输入位数为13位\ return; }

if(bookName.getText().length()==0){

JOptionPane.showMessageDialog(null, \图书名称文本框不可以为空\ return; }

if(writer.getText().length()==0){

JOptionPane.showMessageDialog(null, \作者文本框不可以为空\ return; }

if(publisher.getText().length()==0){

JOptionPane.showMessageDialog(null, \出版人文本框不可以为空\ return; }

//日期与单价进行数字验证代码? if(pubDate.getText().length()==0){ JOptionPane.showMessageDialog(null, \出版日期文本框不可以为空\ return; }

if(price.getText().length()==0){ JOptionPane.showMessageDialog(null, \单价文本框不可以为空\ return; }

String ISBNs=ISBN.getText().trim(); //分类 Object selectedItem = bookTypeModel.getSelectedItem(); if (selectedItem == null) return;

Item item = (Item)selectedItem; String bookTypes=item.getId();

String translators=translator.getText().trim(); String bookNames=bookName.getText().trim(); String writers=writer.getText().trim();

String publishers=publisher.getText().trim(); String pubDates=pubDate.getText().trim(); String prices=price.getText().trim();

29

Java 开发实例 源码——图书信息管理系统

int i=Dao.Updatebook(ISBNs, bookTypes, bookNames, writers, translators, publishers, Date.valueOf(pubDates), Double.parseDouble(prices)); System.out.println(i); if(i==1){ // }

JOptionPane.showMessageDialog(null, \修改成功\ Object[][] results=getFileStates(Dao.selectBookInfo()); //注释代码为使用表格模型 DefaultTableModel model=new DefaultTableModel(); DefaultTableModel model = (DefaultTableModel) table.getModel(); table.setModel(model); model.setDataVector(results, columnNames); } } }

class NumberListener extends KeyAdapter { public void keyTyped(KeyEvent e) { String numStr=\ if(numStr.indexOf(e.getKeyChar())<0){ e.consume(); } } }

30

Java 开发实例 源码——图书信息管理系统

BookTypeAddIFrame.java //图书类型添加

package com.zhang.iframe;

import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField;

import com.zhang.dao.Dao;

import com.zhang.util.CreateIcon; import com.zhang.util.MyDocument;

31

Java 开发实例 源码——图书信息管理系统

public class BookTypeAddIFrame extends JInternalFrame {

private JTextField bookTypeName; /**

* Create the frame */

public BookTypeAddIFrame() {

super();

setIconifiable(true);

// 设置窗体可最小化

---必须 setClosable(true);

final JLabel label_2 = new JLabel();

label_2.setPreferredSize(new Dimension(90, 20)); label_2.setText(\图书类别名称:\); panel_3.add(label_2);

bookTypeName = new JTextField();

bookTypeName.setDocument(new MyDocument(20)); bookTypeName.setColumns(30); panel_3.add(bookTypeName);

final JButton button = new JButton();

button.setText(\保存\);

button.addActionListener(new ActionListener(){

32

setTitle(\图书类别添加\);

setBounds(100, 100, 370, 240); final JPanel panel = new JPanel(); panel.setLayout(new BorderLayout());

panel.setPreferredSize(new Dimension(360, 80)); getContentPane().add(panel, BorderLayout.NORTH); final JLabel label_4 = new JLabel(); ImageIcon bookTypeAddIcon=CreateIcon.add(\); label_4.setIcon(bookTypeAddIcon); label_4.setPreferredSize(new Dimension(360, 80)); label_4.setText(\图书类别图片(400*80)\); panel.add(label_4); final JPanel panel_3 = new JPanel(); panel_3.setLayout(new FlowLayout());

getContentPane().add(panel_3, BorderLayout.CENTER); final JLabel label_1 = new JLabel();

label_1.setPreferredSize(new Dimension(20, 50)); panel_3.add(label_1); Java 开发实例 源码——图书信息管理系统

public void actionPerformed(final ActionEvent e) {

if(bookTypeName.getText().length()==0){ } int if(i==1){

JOptionPane.showMessageDialog(null, \添加成功!\); doDefaultCloseAction();

JOptionPane.showMessageDialog(null, \图书类别名已存在,JOptionPane.showMessageDialog(null, \图书类别文本框不可return;

为空\);

i=Dao.InsertBookType(bookTypeName.getText().trim());

}else{

请重新输入!\); } } }

class NumberListener extends KeyAdapter { } public void keyTyped(KeyEvent e) { } String numStr=\+(char)8; if(numStr.indexOf(e.getKeyChar())<0){ } e.consume();

} });

panel_3.add(button);

final JButton buttonDel = new JButton(); buttonDel.setText(\关闭\);

buttonDel.addActionListener(new ActionListener(){

public void actionPerformed(final ActionEvent e) { }

doDefaultCloseAction(); });

panel_3.add(buttonDel); setVisible(true);

33

Java 开发实例 源码——图书信息管理系统

BookTypeModiAndDelIFrame.java //图书类型修改与删除 package com.zhang.iframe;

import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.List; import java.util.Map; import javax.swing.DefaultComboBoxModel; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable;

34

Java 开发实例 源码——图书信息管理系统

import javax.swing.JTextField;

import javax.swing.table.DefaultTableModel;

import com.zhang.util.Item; import com.zhang.dao.Dao;

import com.zhang.model.BookType; import com.zhang.util.CreateIcon;

public class BookTypeModiAndDelIFrame extends JInternalFrame {

final JLabel logoLabel = new JLabel();

35

private JComboBox comboBox; private JTextField BookTypeId; private JTable table; private String[] array;

private String[] columnNames={ \图书类别编号\, \图书类别名称\}; DefaultComboBoxModel bookTypeModel; DefaultTableModel model; Map map;

private Object[][] getFileStates(List list){ } /**

* Create the frame */

public BookTypeModiAndDelIFrame() {

super();

setTitle(\图书类别修改\);

setBounds(100, 100, 500, 350); setIconifiable(true); setClosable(true);

final JPanel panel = new JPanel(); panel.setLayout(new BorderLayout());

getContentPane().add(panel, BorderLayout.NORTH);

Object[][]results=new Object[list.size()][columnNames.length]; for(int i=0;i

return results;

BookType booktype=(BookType)list.get(i); results[i][0]=booktype.getId(); results[i][1]=booktype.getTypeName();

Java 开发实例 源码——图书信息管理系统

ImageIcon

logoLabel.setIcon(bookTypeModiAndDelIcon);

logoLabel.setPreferredSize(new Dimension(400, 80)); logoLabel.setText(\); panel.add(logoLabel);

final JPanel panel_1 = new JPanel(); getContentPane().add(panel_1);

final JScrollPane scrollPane = new JScrollPane(); scrollPane.setPreferredSize(new Dimension(400, 130)); panel_1.add(scrollPane); model=new DefaultTableModel();

Object[][] results=getFileStates(Dao.selectBookCategory()); model.setDataVector(results,columnNames); table = new JTable(); table.setModel(model);

table.addMouseListener(new TableListener()); scrollPane.setViewportView(table); final JPanel panel_2 = new JPanel(); panel_1.add(panel_2); final GridLayout gridLayout = new GridLayout(0, 6); gridLayout.setVgap(5); gridLayout.setHgap(5); panel_2.setLayout(gridLayout); panel_2.setPreferredSize(new Dimension(400, 26)); final JLabel label = new JLabel(); label.setText(\类别编号:\); panel_2.add(label); BookTypeId = new JTextField(); BookTypeId.setFocusable(false); panel_2.add(BookTypeId);

final JLabel label_1 = new JLabel(); label_1.setText(\类别名称:\); panel_2.add(label_1);

bookTypeModiAndDelIcon=CreateIcon.add(\);

36

Java 开发实例 源码——图书信息管理系统

}

comboBox = new JComboBox();

bookTypeModel= (DefaultComboBoxModel)comboBox.getModel();

//从数据库中取出图书类别

List list=Dao.selectBookCategory(); for(int i=0;i

panel_2.add(comboBox);

final JPanel panel_4 = new JPanel(); panel_1.add(panel_4);

final JButton buttonDel=new JButton(); buttonDel.setText(\删除\);

buttonDel.addActionListener(new ButtonDelListener()); panel_4.add(buttonDel);

final JButton buttonMod = new JButton();

buttonMod.setText(\修改\); buttonMod.addActionListener(new ButtonAddListener()); panel_4.add(buttonMod); final JButton buttonExit = new JButton();

buttonExit.setText(\退出\);

buttonExit.addActionListener(new CloseActionListener()); panel_4.add(buttonExit); setVisible(true);

BookType booktype=(BookType)list.get(i); Item item=new Item();

item.setId(booktype.getId());

item.setName(booktype.getTypeName());

bookTypeModel.addElement(item);

class TableListener extends MouseAdapter {

public void mouseClicked(final MouseEvent e) { }

37

int selRow = table.getSelectedRow();

BookTypeId.setText(table.getValueAt(selRow,

bookTypeModel.setSelectedItem(table.getValueAt(selRow,

0).toString().trim()); 1).toString().trim());

Java 开发实例 源码——图书信息管理系统

}

class ButtonAddListener implements ActionListener{

public void actionPerformed(ActionEvent e){

Object selectedItem = bookTypeModel.getSelectedItem(); int

i=Dao.UpdatebookType(BookTypeId.getText().trim(),selectedItem.toString());

}

class ButtonDelListener implements ActionListener{ }

class CloseActionListener implements ActionListener {

//

public void actionPerformed(ActionEvent e){ }

int i=Dao.DelbookType(BookTypeId.getText().trim()); if(i==1){ }

JOptionPane.showMessageDialog(null, \删除成功\); Object[][] model.setDataVector(results,columnNames); table.setModel(model);

}

System.out.println(i); if(i==1){ }

JOptionPane.showMessageDialog(null, \修改成功\); Object[][]

model.setDataVector(results,columnNames); table.setModel(model);

results=getFileStates(Dao.selectBookCategory());

results=getFileStates(Dao.selectBookCategory());

添加关闭按钮的事件监听器 public void actionPerformed(final ActionEvent e) { } } } doDefaultCloseAction(); 38

Java 开发实例 源码——图书信息管理系统

LoginIFrame.java //系统登录窗口 package com.zhang.iframe;

import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.GridLayout;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent;

import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextField; import javax.swing.SwingConstants; import javax.swing.border.EmptyBorder;

import com.zhang.iframe.MainFrame; import com.zhang.dao.Dao; import com.zhang.model.Operator; import com.zhang.util.CreateIcon; import com.zhang.util.MyDocument;

public class LoginIFrame extends JFrame {

private class BookResetAction implements ActionListener {

public void actionPerformed(final ActionEvent e){

username.setText(\); password.setText(\);

39

Java 开发实例 源码——图书信息管理系统

}

}

class BookLoginAction implements ActionListener {

public void actionPerformed(final ActionEvent e) { }

user = Dao.check(username.getText(), password.getText()); if (user.getName() != null) { }

try { }

JOptionPane.showMessageDialog(null, \只有管理员才可以登录!username.setText(\); password.setText(\);

MainFrame frame = new MainFrame(); frame.setVisible(true);

LoginIFrame.this.setVisible(false); ex.printStackTrace();

} catch (Exception ex) {

} else {

\);

}

private JPasswordField password; private JTextField username; private JButton login; private JButton reset; private static Operator user; /**

* Create the frame */

public LoginIFrame() {

super(); final BorderLayout borderLayout = new BorderLayout(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); borderLayout.setVgap(10); getContentPane().setLayout(borderLayout); setTitle(\图书馆管理系统登录\); setBounds(100, 100, 285, 194); final JPanel panel = new JPanel(); panel.setLayout(new BorderLayout());

panel.setBorder(new EmptyBorder(0, 0, 0, 0)); getContentPane().add(panel);

final JPanel panel_2 = new JPanel();

40

Java 开发实例 源码——图书信息管理系统

final GridLayout gridLayout = new GridLayout(0, 2); gridLayout.setHgap(5); gridLayout.setVgap(20);

panel_2.setLayout(gridLayout); panel.add(panel_2);

final JLabel label = new JLabel();

label.setHorizontalAlignment(SwingConstants.CENTER); label.setPreferredSize(new Dimension(0, 0)); label.setMinimumSize(new Dimension(0, 0)); panel_2.add(label);

label.setText(\用 户 名:\); username = new JTextField(20);

username.setPreferredSize(new Dimension(0, 0)); panel_2.add(username);

final JLabel label_1 = new JLabel(); label_1.setHorizontalAlignment(SwingConstants.CENTER); panel_2.add(label_1);

label_1.setText(\密 码:\); password = new JPasswordField(20); password.setDocument(new MyDocument(6)); password.setEchoChar('*');//设置密码框的回显字符 password.addKeyListener(new KeyAdapter() {

public void keyPressed(final KeyEvent e) { }

if (e.getKeyCode() == 10)

login.doClick(); }); panel_2.add(password);

final JPanel panel_1 = new JPanel(); panel.add(panel_1, BorderLayout.SOUTH); login=new JButton();

login.addActionListener(new BookLoginAction()); login.setText(\登录\); panel_1.add(login); reset=new JButton();

reset.addActionListener(new BookResetAction());

reset.setText(\重置\);

41

Java 开发实例 源码——图书信息管理系统

}

}

panel_1.add(reset);

final JLabel tupianLabel = new JLabel();

ImageIcon loginIcon=CreateIcon.add(\); tupianLabel.setIcon(loginIcon); tupianLabel.setOpaque(true);

tupianLabel.setBackground(Color.GREEN);

tupianLabel.setPreferredSize(new Dimension(260, 60)); panel.add(tupianLabel, BorderLayout.NORTH); setVisible(true); setResizable(false);

//setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); public static Operator getUser() { }

public static void setUser(Operator user) { }

LoginIFrame.user = user; return user;

MainFrame.java //主窗口 package com.zhang.iframe;

42

Java 开发实例 源码——图书信息管理系统

import java.awt.BorderLayout; import java.awt.Dimension;

import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent;

import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JDesktopPane; import javax.swing.JFrame;

import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JToolBar; import javax.swing.UIManager; import javax.swing.WindowConstants; import javax.swing.border.BevelBorder;

import com.zhang.iframe.LoginIFrame; import com.zhang.util.CreateIcon; import com.zhang.util.MenuActions; /** * 主窗体 * */

public class MainFrame extends JFrame { private static final JDesktopPane DESKTOP_PANE = new JDesktopPane(); public static void main(String[] args) { } public static void addIFame(JInternalFrame iframe) { // 添加子窗体的

DESKTOP_PANE.add(iframe); try {

UIManager.setLookAndFeel(UIManager .getSystemLookAndFeelClassName());

new LoginIFrame();//登录窗口 } catch (Exception ex) { }

ex.printStackTrace();

方法

}

public MainFrame() {

super();

setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

43

Java 开发实例 源码——图书信息管理系统

//setModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE); } /**

* 创建工具栏 *

* @return JToolBar */

private JToolBar createToolBar() { // 创建工具栏的方法 JToolBar toolBar = new JToolBar();

toolBar.setFloatable(false);

toolBar.setBorder(new BevelBorder(BevelBorder.RAISED)); JButton bookAddButton=new JButton(MenuActions.BOOK_ADD); //ImageIcon icon=CreatecdIcon.add(\创建图标方法 ImageIcon icon=new

setLocationByPlatform(true); setSize(900, 700);

setTitle(\图书信息管理系统\);

JMenuBar menuBar = createMenu(); // 调用创建菜单栏的方法 setJMenuBar(menuBar);

JToolBar toolBar = createToolBar(); // 调用创建工具栏的方法 getContentPane().add(toolBar, BorderLayout.NORTH); final JLabel label = new JLabel(); label.setBounds(0, 0, 0, 0); label.setIcon(null); // 窗体背景

DESKTOP_PANE.addComponentListener(new ComponentAdapter() {

public void componentResized(final ComponentEvent e) { }

Dimension size = e.getComponent().getSize(); label.setSize(e.getComponent().getSize()); label.setText(\ + size.width + \

+ size.height + \ + this.getClass().getResource(\) + \);

height=\

});

DESKTOP_PANE.add(label,new Integer(Integer.MIN_VALUE)); getContentPane().add(DESKTOP_PANE);

ImageIcon(MainFrame.class.getResource(\));//添加菜单栏图标

bookAddButton.setIcon(icon);

bookAddButton.setHideActionText(true);

//bookAddButton.setToolTipText(\图片上提示字

44

Java 开发实例 源码——图书信息管理系统

toolBar.add(bookAddButton);

//toolBar.add(MenuActions.BOOK_MODIFY); //在工具栏中添加图书修改与删除图标 JButton bookModiAndDelButton=new ImageIcon

JButton(MenuActions.BOOK_MODIFY);

bookmodiicon=CreateIcon.add(\);//创建图标方法 bookModiAndDelButton.setIcon(bookmodiicon);

bookModiAndDelButton.setHideActionText(true); toolBar.add(bookModiAndDelButton);

JButton bookTypeAddButton=new ImageIcon

JButton(MenuActions.BOOKTYPE_ADD);

bookTypeAddicon=CreateIcon.add(\);//创建图标方法 bookTypeAddButton.setIcon(bookTypeAddicon);

bookTypeAddButton.setHideActionText(true); toolBar.add(bookTypeAddButton);

JButton readerAddButton=new JButton(MenuActions.READER_ADD); ImageIcon readerAddicon=CreateIcon.add(\);//创

建图标方法 readerAddButton.setIcon(readerAddicon);

readerAddButton.setHideActionText(true); toolBar.add(readerAddButton);

JButton readerModiAndDelButton=new ImageIcon JButton(MenuActions.READER_MODIFY);

readerModiAndDelicon=CreateIcon.add(\);//创建图标方法 readerModiAndDelButton.setIcon(readerModiAndDelicon);

} /**

* 创建菜单栏

45

readerModiAndDelButton.setHideActionText(true); toolBar.add(readerModiAndDelButton); JButton ExitButton=new JButton(MenuActions.EXIT);

ImageIcon Exiticon=CreateIcon.add(\);//创建图标方法 ExitButton.setIcon(Exiticon); ExitButton.setHideActionText(true); toolBar.add(ExitButton); return toolBar;

本文来源:https://www.bwwdw.com/article/9gy2.html

Top