java制作表格存放书籍和删除,不用数据库
时间: 2024-03-14 15:45:36 浏览: 74
如果你想在Java中制作一个表格来存储书籍,并且可以删除数据,但不使用数据库,可以使用Java Swing库中的JTable类和TableModel接口。
以下是一个简单的例子,其中包括添加和删除书籍的功能:
```java
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class BookTable extends JFrame {
private JTable table;
private DefaultTableModel model;
public BookTable() {
setTitle("书籍表格");
setSize(500, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
// 创建表格和数据模型
String[] columnNames = {"书名", "作者", "出版社", "价格"};
Object[][] rowData = {
{"Java编程思想", "Bruce Eckel", "机械工业出版社", 99.00},
{"深入浅出设计模式", "程杰", "电子工业出版社", 59.00},
{"Effective Java", "Joshua Bloch", "机械工业出版社", 89.00},
{"代码大全", "Steve McConnell", "人民邮电出版社", 79.00}
};
model = new DefaultTableModel(rowData, columnNames);
// 创建表格并添加到面板中
table = new JTable(model);
JPanel panel = new JPanel();
panel.add(new JScrollPane(table));
// 创建按钮并添加到面板中
JButton addButton = new JButton("添加书籍");
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
addBook();
}
});
panel.add(addButton);
JButton deleteButton = new JButton("删除书籍");
deleteButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
deleteBook();
}
});
panel.add(deleteButton);
add(panel);
setVisible(true);
}
// 添加书籍方法
private void addBook() {
// 创建一个新的一行数据
Object[] rowData = {"", "", "", ""};
model.addRow(rowData);
// 设置新行可编辑
int rowIndex = model.getRowCount() - 1;
int columnIndex = 0;
table.editCellAt(rowIndex, columnIndex);
table.getSelectionModel().setSelectionInterval(rowIndex, rowIndex);
table.getColumnModel().getSelectionModel().setSelectionInterval(columnIndex, columnIndex);
table.requestFocusInWindow();
}
// 删除书籍方法
private void deleteBook() {
int rowIndex = table.getSelectedRow();
if (rowIndex == -1) {
JOptionPane.showMessageDialog(this, "请选择要删除的书籍");
return;
}
model.removeRow(rowIndex);
}
public static void main(String[] args) {
new BookTable();
}
}
```
在这个例子中,我们创建了一个包含四列数据的表格,每一行代表一本书籍。我们使用DefaultTableModel类来创建数据模型,并将其传递给JTable构造函数来创建表格。
我们还添加了两个按钮来实现添加和删除书籍的功能。当点击添加按钮时,我们创建一个新的空行,并将其设置为可编辑。当点击删除按钮时,我们获取当前选中的行,并使用DefaultTableModel类的removeRow方法从数据模型中删除该行。
你可以根据自己的需要来修改这个例子,并添加更多的书籍数据和功能。
阅读全文