java对删除书籍按钮功能,不用数据库
时间: 2023-10-22 09:09:37 浏览: 30
如果您不想使用数据库来实现删除书籍按钮功能,您可以使用Java IO库来实现该功能。具体实现方式如下:
1. 首先,您需要创建一个文件来存储书籍信息。您可以使用Java IO库来创建一个文本文件,将书籍信息逐行写入文件中。
2. 当用户点击删除书籍按钮时,您需要读取该文件并查找要删除的书籍信息。您可以使用Java IO库中的BufferedReader类来读取文件中的信息,并使用String类来比较书籍信息是否匹配。
3. 如果找到要删除的书籍信息,您可以使用Java IO库中的File类来删除该行信息。具体来说,您可以使用File类的delete()方法来删除该行信息,然后再使用Java IO库中的FileWriter类将更新后的信息写回到文件中。
需要注意的是,这种实现方式可能会受到文件读写的性能限制,特别是当书籍数量较大时。因此,使用数据库来实现删除书籍按钮功能可能更为高效。
相关问题
java制作表格存放书籍和删除,不用数据库
如果你想在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方法从数据模型中删除该行。
你可以根据自己的需要来修改这个例子,并添加更多的书籍数据和功能。
java制作表格添加书籍和删除,不用数据库
可以使用Java的Swing库来制作表格,并使用ArrayList来存储书籍数据。以下是一个简单的实现:
```java
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class BookTable extends JFrame {
private JTable table;
private DefaultTableModel model;
private ArrayList<Book> books;
public BookTable() {
super("Book Table");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 初始化书籍列表
books = new ArrayList<Book>();
books.add(new Book("Java编程思想", "Bruce Eckel", 59.99));
books.add(new Book("Effective Java", "Joshua Bloch", 42.99));
books.add(new Book("Head First Java", "Kathy Sierra", 39.99));
// 初始化表格
model = new DefaultTableModel();
model.addColumn("书名");
model.addColumn("作者");
model.addColumn("价格");
for (Book book : books) {
model.addRow(new Object[]{book.getName(), book.getAuthor(), book.getPrice()});
}
table = new JTable(model);
// 添加表格到窗口
JScrollPane scrollPane = new JScrollPane(table);
getContentPane().add(scrollPane, BorderLayout.CENTER);
// 添加按钮面板到窗口
JPanel buttonPanel = new JPanel();
getContentPane().add(buttonPanel, BorderLayout.SOUTH);
// 添加“添加”按钮
JButton addButton = new JButton("添加");
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 创建添加对话框
BookDialog dialog = new BookDialog(BookTable.this, "添加书籍", null);
dialog.setVisible(true);
// 如果用户点击了“确定”按钮,则添加书籍到列表和表格
if (dialog.isOkPressed()) {
Book book = dialog.getBook();
books.add(book);
model.addRow(new Object[]{book.getName(), book.getAuthor(), book.getPrice()});
}
}
});
buttonPanel.add(addButton);
// 添加“删除”按钮
JButton deleteButton = new JButton("删除");
deleteButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 获取选中的行
int row = table.getSelectedRow();
if (row >= 0) {
// 从列表和表格中删除选中的书籍
books.remove(row);
model.removeRow(row);
}
}
});
buttonPanel.add(deleteButton);
pack();
setLocationRelativeTo(null);
}
public static void main(String[] args) {
BookTable table = new BookTable();
table.setVisible(true);
}
}
```
以上代码中,Book类表示一本书,BookDialog类表示添加/编辑书籍的对话框。在“添加”按钮的ActionListener中,我们创建一个BookDialog对话框,并将用户输入的书籍添加到列表和表格中。在“删除”按钮的ActionListener中,我们获取选中的行,然后从列表和表格中删除选中的书籍。
这个例子中使用了ArrayList来存储书籍数据,没有使用数据库。这种方式适用于小型应用程序,当需要处理大量数据时,最好使用数据库来管理数据。