java弹窗表格把文件的书存入表格实现用户对书籍的借阅,归还的代码,不用数据库
时间: 2024-03-19 22:45:08 浏览: 55
java 做的图书借阅系统
4星 · 用户满意度95%
下面是一个简单的示例代码,可以实现弹窗表格将文件中的书存入表格,并且实现用户对书籍的借阅和归还功能。
```java
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.table.*;
public class BookTable extends JFrame {
private JTable table;
private DefaultTableModel model;
private JButton borrowButton, returnButton;
public BookTable() {
// 创建表格
String[] columnNames = {"书名", "作者", "出版社", "状态"};
model = new DefaultTableModel(columnNames, 0);
table = new JTable(model);
// 添加数据
try {
BufferedReader reader = new BufferedReader(new FileReader("books.txt"));
String line;
while ((line = reader.readLine()) != null) {
String[] data = line.split(",");
model.addRow(data);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
// 创建按钮
borrowButton = new JButton("借阅");
returnButton = new JButton("归还");
// 添加按钮事件
borrowButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int row = table.getSelectedRow();
if (row >= 0) {
String status = (String) model.getValueAt(row, 3);
if (status.equals("可借")) {
model.setValueAt("已借出", row, 3);
JOptionPane.showMessageDialog(BookTable.this, "借阅成功!", "提示", JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(BookTable.this, "该书已借出!", "错误", JOptionPane.ERROR_MESSAGE);
}
} else {
JOptionPane.showMessageDialog(BookTable.this, "请先选择一本书!", "错误", JOptionPane.ERROR_MESSAGE);
}
}
});
returnButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int row = table.getSelectedRow();
if (row >= 0) {
String status = (String) model.getValueAt(row, 3);
if (status.equals("已借出")) {
model.setValueAt("可借", row, 3);
JOptionPane.showMessageDialog(BookTable.this, "归还成功!", "提示", JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(BookTable.this, "该书未借出!", "错误", JOptionPane.ERROR_MESSAGE);
}
} else {
JOptionPane.showMessageDialog(BookTable.this, "请先选择一本书!", "错误", JOptionPane.ERROR_MESSAGE);
}
}
});
// 创建面板
JPanel buttonPanel = new JPanel();
buttonPanel.add(borrowButton);
buttonPanel.add(returnButton);
// 添加组件
add(new JScrollPane(table), BorderLayout.CENTER);
add(buttonPanel, BorderLayout.SOUTH);
// 设置窗口
setTitle("图书管理系统");
setSize(500, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new BookTable();
}
}
```
上述代码中,我们首先创建了一个表格,并且从文件中读取数据添加到表格中。然后,我们创建了两个按钮,一个是“借阅”,一个是“归还”,并且为它们添加了相应的事件处理程序。当用户选择一本书并点击“借阅”按钮时,我们会判断该书的状态是否为“可借”,如果是,则将其状态修改为“已借出”,并弹出借阅成功的提示框;否则弹出错误提示框。当用户选择一本书并点击“归还”按钮时,我们会判断该书的状态是否为“已借出”,如果是,则将其状态修改为“可借”,并弹出归还成功的提示框;否则弹出错误提示框。最后,我们将表格和按钮添加到面板中,并设置窗口的标题、大小、位置和关闭方式。
阅读全文