package view;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import model.*;
import dao.*;
public class BookPanel extends JPanel {
MainFrame frame;//主窗体
// 图书管理面板上的组件
JComboBox<String> jbckeywords;// 图书关键字选项
JTextField txtkeywords;// 图书查询关键字
JButton btnQuery;
JButton btnBookType;
JButton btnPublisher;
JTable table;
JScrollPane scrollPane;
Object[] columns;
DefaultTableModel data;
JButton btnAdd;// 新增
JButton btnDelete;// 删除
JButton btnUpdate;// 修改
JButton btnDetail;// 详情
JButton btnLend;// 借阅
JButton btnFirstPage;// 首页
JButton btnPreviewPage;// 上一页
JButton btnNextPage;// 下一页
JButton btnLastPage;// 末页
JLabel lblPage;// 页码标签
int curPage = 1, pageCount = 1;// 当前页和总页数
public BookPanel(MainFrame frame) {
super(null);// 空布局
this.frame = frame;
init();
}
private void init() {
jbckeywords = new JComboBox<String>();
txtkeywords = new JTextField();
btnQuery = new JButton("查询");
btnBookType = new JButton("图书类型设置");
btnPublisher = new JButton("出版社管理");
columns = new Object[]
{"编号", "书名", "类型", "作者", "出版社", "价格", "书架", "总量", "借出"};
data = new DefaultTableModel(columns, 0) {
// 设置表格单元格不可编辑
public boolean isCellEditable(int row, int column) {
return false;
}
};
table = new JTable(data);
scrollPane = new JScrollPane(table);
btnAdd = new JButton("新增");
btnDelete = new JButton("删除");
btnUpdate = new JButton("修改");
btnDetail = new JButton("详情");
btnLend = new JButton("借阅");
btnFirstPage = new JButton("首页");
btnPreviewPage = new JButton("上页");
lblPage = new JLabel("", JLabel.CENTER);
btnNextPage = new JButton("下页");
btnLastPage = new JButton("末页");
// 设置图书管理面板的组件属性
jbckeywords.setSize(80, 23);
jbckeywords.setLocation(42, 20);
jbckeywords.setFont(new Font("微软雅黑", Font.PLAIN, 16));
jbckeywords.addItem("书名");
jbckeywords.addItem("类型");
jbckeywords.addItem("作者");
jbckeywords.addItem("出版社");
jbckeywords.addItem("书架");
txtkeywords.setSize(200, 25);
txtkeywords.setLocation(130, 20);
txtkeywords.setFont(new Font("微软雅黑", Font.PLAIN, 16));
btnQuery.setSize(80, 25);
btnQuery.setLocation(335, 20);
btnQuery.setFont(new Font("微软雅黑", Font.PLAIN, 16));
btnBookType.setSize(140, 25);
btnBookType.setLocation(425, 20);
btnBookType.setFont(new Font("微软雅黑", Font.PLAIN, 16));
btnPublisher.setSize(140, 25);
btnPublisher.setLocation(575, 20);
btnPublisher.setFont(new Font("微软雅黑", Font.PLAIN, 16));
btnAdd.setSize(80, 30);
btnAdd.setLocation(40, 480);
btnAdd.setFont(new Font("微软雅黑", Font.PLAIN, 16));
btnDelete.setSize(80, 30);
btnDelete.setLocation(130, 480);
btnDelete.setFont(new Font("微软雅黑", Font.PLAIN, 16));
btnUpdate.setSize(80, 30);
btnUpdate.setLocation(220, 480);
btnUpdate.setFont(new Font("微软雅黑", Font.PLAIN, 16));
btnDetail.setSize(80, 30);
btnDetail.setLocation(310, 480);
btnDetail.setFont(new Font("微软雅黑", Font.PLAIN, 16));
btnLend.setSize(80, 30);
btnLend.setLocation(400, 480);
btnLend.setFont(new Font("微软雅黑", Font.PLAIN, 16));
btnFirstPage.setSize(80, 30);
btnFirstPage.setLocation(490, 480);
btnFirstPage.setFont(new Font("微软雅黑", Font.PLAIN, 16));
btnPreviewPage.setSize(80, 30);
btnPreviewPage.setLocation(580, 480);
btnPreviewPage.setFont(new Font("微软雅黑", Font.PLAIN, 16));
lblPage.setSize(100, 30);
lblPage.setLocation(670, 480);
lblPage.setFont(new Font("微软雅黑", Font.PLAIN, 20));
btnNextPage.setSize(80, 30);
btnNextPage.setLocation(770, 480);
btnNextPage.setFont(new Font("微软雅黑", Font.PLAIN, 16));
btnLastPage.setSize(80, 30);
btnLastPage.setLocation(860, 480);
btnLastPage.setFont(new Font("微软雅黑", Font.PLAIN, 16));
table.setRowHeight(37);
table.setFont(new Font("微软雅黑", Font.PLAIN, 15));
// 设置表格只能被选中一行(单选模式)
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.getTableHeader().setFont(new Font("微软雅黑", Font.PLAIN, 18));
table.getColumnModel().getColumn(0).setPreferredWidth(100);
table.getColumnModel().getColumn(1).setPreferredWidth(200);
table.getColumnModel().getColumn(2).setPreferredWidth(100);
table.getColumnModel().getColumn(3).setPreferredWidth(100);
table.getColumnModel().getColumn(4).setPreferredWidth(160);
table.getColumnModel().getColumn(5).setPreferredWidth(70);
table.getColumnModel().getColumn(6).setPreferredWidth(70);
table.getColumnModel().getColumn(7).setPreferredWidth(50);
table.getColumnModel().getColumn(8).setPreferredWidth(50);
scrollPane.setSize(900, 401);
scrollPane.setLocation(40, 60);
// 添加监听器
btnQuery.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (curPage == 0) {
curPage = 1;
}
showInfo(curPage);
}
});
btnBookType.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
BookTypeDailog dialog = new BookTypeDailog();
if (dialog.isUpdate == true) {
showInfo(curPage);// 重新查询(等同于刷新)
}
}
});
btnPublisher.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
PublisherDailog dialog = new PublisherDailog();
if (dialog.isUpdate == true) {
showInfo(curPage);// 重新查询(等同于刷新)
}
}
});
btnAdd.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
BookDialog dialog = new BookDialog(BookDialog.ADD, "");
if (dialog.isUpdate == true) {// 如果数据有更新
// 查询最新数据,并去除查询条件及设置查询第1页的数据
curPage = 1;
txtkeywords.setText("");
showInfo(curPage);
}
}
});
btnUpdate.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int row = table.getSelectedRow();
if (row >= 0) {
String id = (String) table.getValueAt(row, 0);// 获得编号
BookDialog dialog = new BookDialog(BookDialog.UPDATE, id);
if (dialog.isUpdate == true) {// 如果数据有更新
// 重新查询
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
使用Swing技术+MySQL数据库开发出的图书管理系统,具有管理图书信息、管理读者信息、管理借阅信息、管理出版社信息等功能。查询图书数据时,可根据图书类型、图书名称、作者、出版社、所在书架等多种因素度完成查询操作,所查询出的图书信息以分页形式呈现。此外,还可以对图书进行新增、修改、删除、借阅登记等常规的信息管理工作。 本系统也能对读者信息进行科学合理的管理。读者信息与其图书证上的信息也是一致的。在这个界面中可以完成读者信息的查询、新增、修改等操作,此外,如果有读者出现多次逾期未还图书、丢失图书等情况,还可以对其进行停用操作,只需要在列表中选中一个读者,然后单击“停用”按钮即可,处于停用状态的读者不能再次借阅本系统中的图书,但可以进行归还图书的操作。被停用的读者还可以被恢复正常状态,只需要从列表中选定被停用的读者后单击“恢复”按钮即可。借阅信息管理模块中显示出了图书的借阅信息,这些信息的最后一列显示出了图书的归还状态,每条借阅信息根据图书是否归还以及是否超过归还日期分为未还、逾期未还、按时归还和逾期归还4种状态。每次打开该模块时,系统都会自动更新状态,并且还有刷新按钮以获得最新状态
资源推荐
资源详情
资源评论
收起资源包目录
Swing版图书管理系统源码 (107个子文件)
BookDialog.class 9KB
BookPanel.class 9KB
BookDao.class 8KB
RecordPanel.class 8KB
RecordDao.class 8KB
ReaderPanel.class 8KB
ReaderDao.class 7KB
ReaderDialog.class 6KB
PublisherDailog.class 6KB
BookTypeDailog.class 6KB
LendDialog.class 5KB
PublisherDao.class 4KB
BookTypeDao.class 4KB
RecordPanel$4.class 3KB
BookPanel$7.class 3KB
Book.class 3KB
BookPanel$9.class 2KB
PublisherDailog$4.class 2KB
BookTypeDailog$4.class 2KB
LoginFrame.class 2KB
Record.class 2KB
LoginFrame$1.class 2KB
ReaderPanel$7.class 2KB
ReaderPanel$6.class 2KB
LendDialog$1.class 2KB
BookDialog$1.class 2KB
ReaderDialog$1.class 2KB
PublisherDailog$3.class 2KB
BookTypeDailog$3.class 2KB
IDGenerator.class 2KB
ReaderPanel$4.class 2KB
DBUtil.class 2KB
PublisherDailog$2.class 1KB
BookTypeDailog$2.class 1KB
BookPanel$6.class 1KB
Reader.class 1KB
MainFrame.class 1KB
PublisherDailog$6.class 1KB
BookTypeDailog$6.class 1KB
ReaderPanel$5.class 1KB
Publisher.class 1KB
BookType.class 1KB
BookPanel$8.class 1KB
RecordPanel$3.class 1KB
ReaderPanel$3.class 1KB
BookPanel$5.class 1KB
ReaderPanel$11.class 1KB
ReaderPanel$10.class 1KB
RecordPanel$8.class 1KB
RecordPanel$7.class 1KB
BookPanel$13.class 1KB
BookPanel$12.class 1024B
ReaderPanel$9.class 1003B
RecordPanel$6.class 1003B
RecordPanel$5.class 998B
ReaderPanel$8.class 998B
BookPanel$11.class 993B
BookPanel$10.class 988B
DateUtil.class 947B
BookPanel$4.class 874B
BookPanel$3.class 872B
RecordPanel$2.class 783B
ReaderPanel$2.class 783B
BookPanel$2.class 771B
PublisherDailog$1.class 740B
BookTypeDailog$1.class 734B
Main.class 734B
LendDialog$2.class 729B
ReaderDialog$2.class 724B
PublisherDailog$5.class 717B
RecordPanel$1.class 716B
ReaderPanel$1.class 716B
BookDialog$2.class 712B
BookTypeDailog$5.class 711B
BookPanel$1.class 704B
LoginFrame$2.class 687B
.gitignore 184B
lesson25.iml 691B
mysql-connector-java-8.0.29.jar 2.4MB
BookPanel.java 19KB
ReaderPanel.java 16KB
BookDialog.java 15KB
RecordPanel.java 15KB
ReaderDialog.java 11KB
PublisherDailog.java 11KB
BookTypeDailog.java 11KB
BookDao.java 10KB
RecordDao.java 9KB
ReaderDao.java 8KB
LendDialog.java 8KB
PublisherDao.java 4KB
BookTypeDao.java 4KB
LoginFrame.java 4KB
Book.java 2KB
Record.java 2KB
DBUtil.java 1KB
Reader.java 1KB
Publisher.java 880B
BookType.java 878B
MainFrame.java 859B
共 107 条
- 1
- 2
资源评论
穆哥细讲Java
- 粉丝: 371
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功