java表格存放书籍和删除
时间: 2024-03-14 11:48:18 浏览: 16
好的,我可以帮你解决这个问题。首先,你需要使用Java中的GUI库(如Swing或JavaFX)来创建一个表格,以便存储书籍信息。然后,你可以创建一个类来表示书籍对象,这个类应该包含书籍的属性,例如书名、作者、出版日期等。
当用户想要添加一本新书时,你可以让用户在GUI中输入书籍信息,然后将这些信息添加到表格中。当用户想要删除一本书时,你可以让用户选择要删除的书籍,并从表格中删除该行。
下面是一个简单的示例代码,演示如何使用Swing创建一个表格并添加/删除书籍:
```java
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class BookTableGUI extends JFrame implements ActionListener {
private JTable table;
private DefaultTableModel model;
public BookTableGUI() {
setTitle("Book Table");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(500, 500);
setLayout(new BorderLayout());
// Create table model
String[] columns = {"Title", "Author", "Publication Date"};
model = new DefaultTableModel(columns, 0);
// Create table and set model
table = new JTable(model);
add(new JScrollPane(table), BorderLayout.CENTER);
// Create buttons for adding and deleting books
JButton addButton = new JButton("Add Book");
addButton.addActionListener(this);
JButton deleteButton = new JButton("Delete Book");
deleteButton.addActionListener(this);
// Add buttons to panel
JPanel buttonPanel = new JPanel(new FlowLayout());
buttonPanel.add(addButton);
buttonPanel.add(deleteButton);
// Add panel to frame
add(buttonPanel, BorderLayout.SOUTH);
setVisible(true);
}
public static void main(String[] args) {
new BookTableGUI();
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("Add Book")) {
// Create dialog for entering book information
JTextField titleField = new JTextField();
JTextField authorField = new JTextField();
JTextField dateField = new JTextField();
Object[] message = {
"Title:", titleField,
"Author:", authorField,
"Publication Date:", dateField
};
int option = JOptionPane.showConfirmDialog(this, message, "Add Book", JOptionPane.OK_CANCEL_OPTION);
// Add book to table if OK is clicked
if (option == JOptionPane.OK_OPTION) {
String[] row = {titleField.getText(), authorField.getText(), dateField.getText()};
model.addRow(row);
}
} else if (e.getActionCommand().equals("Delete Book")) {
// Delete selected book from table
int selectedRow = table.getSelectedRow();
if (selectedRow != -1) {
model.removeRow(selectedRow);
}
}
}
}
```
这段代码创建了一个带有添加和删除按钮的表格窗口。当用户点击“Add Book”按钮时,程序会弹出一个对话框,让用户输入书籍信息,并将这些信息添加到表格中。当用户选择一行并点击“Delete Book”按钮时,程序会从表格中删除该行。你可以根据自己的需求来修改这段代码。