java制作表格对书籍进行添加修改
时间: 2023-08-11 10:34:12 浏览: 73
Java的表格事件
要制作一个可以对书籍进行添加和修改的表格,可以使用Java中的Swing组件中的JTable来实现。以下是一个简单的例子:
首先,需要定义一个表格模型,用于存储数据和处理数据的增删改查操作。可以继承AbstractTableModel类并重写其中的方法来实现。
```java
import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;
public class BookTableModel extends AbstractTableModel {
private ArrayList<Book> books;
public BookTableModel() {
books = new ArrayList<>();
}
public void addBook(Book book) {
books.add(book);
fireTableRowsInserted(books.size() - 1, books.size() - 1);
}
public void removeBook(int index) {
books.remove(index);
fireTableRowsDeleted(index, index);
}
public void updateBook(int index, Book book) {
books.set(index, book);
fireTableRowsUpdated(index, index);
}
@Override
public int getRowCount() {
return books.size();
}
@Override
public int getColumnCount() {
return 3;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
Book book = books.get(rowIndex);
switch (columnIndex) {
case 0:
return book.getTitle();
case 1:
return book.getAuthor();
case 2:
return book.getPrice();
default:
return null;
}
}
@Override
public String getColumnName(int column) {
switch (column) {
case 0:
return "Title";
case 1:
return "Author";
case 2:
return "Price";
default:
return null;
}
}
}
```
上述代码中,Book类是一个简单的类,用于存储书籍的信息,可以根据需要自行定义。
接下来,可以创建一个JFrame,并在其中添加一个JTable和一些按钮,用于添加、删除和修改书籍信息。
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class BookTableFrame extends JFrame {
private JTable bookTable;
private BookTableModel tableModel;
public BookTableFrame() {
setTitle("Book Table");
tableModel = new BookTableModel();
bookTable = new JTable(tableModel);
JButton addButton = new JButton("Add");
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 弹出对话框,输入书籍信息
// 将书籍信息添加到表格模型中
// 刷新表格
}
});
JButton removeButton = new JButton("Remove");
removeButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 获取选中的书籍行号
// 将该行对应的书籍从表格模型中删除
// 刷新表格
}
});
JButton updateButton = new JButton("Update");
updateButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 获取选中的书籍行号
// 弹出对话框,输入新的书籍信息
// 将该行对应的书籍信息更新到表格模型中
// 刷新表格
}
});
JPanel buttonPanel = new JPanel();
buttonPanel.add(addButton);
buttonPanel.add(removeButton);
buttonPanel.add(updateButton);
add(new JScrollPane(bookTable), BorderLayout.CENTER);
add(buttonPanel, BorderLayout.SOUTH);
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
public static void main(String[] args) {
BookTableFrame frame = new BookTableFrame();
frame.setVisible(true);
}
}
```
在上述代码中,可以看到添加、删除和修改书籍信息的逻辑都需要弹出一个对话框来输入或修改书籍信息。具体可以根据需要自行实现。
最后,运行程序即可看到一个简单的表格界面,可以对书籍信息进行增删改查操作。
阅读全文