如何使用 TableCellListener 类来监听单元格编辑事件。
时间: 2024-05-15 19:13:09 浏览: 9
TableCellListener 是一个自定义类,它可以用来监听表格中的单元格编辑事件。下面是一个简单的例子,演示如何使用 TableCellListener 类来监听单元格编辑事件:
```java
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
public class TableCellListenerTest extends JFrame {
private JTable table;
public TableCellListenerTest() {
setTitle("Table Cell Listener Test");
setDefaultCloseOperation(EXIT_ON_CLOSE);
// 创建表格模型
DefaultTableModel model = new DefaultTableModel(
new Object[][]{
{"John", "Doe", 30},
{"Jane", "Doe", 25},
{"Bob", "Smith", 40},
{"Alice", "Jones", 35}
},
new Object[]{"First Name", "Last Name", "Age"}
);
// 创建表格
table = new JTable(model);
getContentPane().add(new JScrollPane(table));
// 创建 TableCellListener 并添加到表格
TableCellListener listener = new TableCellListener(table, new TableCellListener.Action() {
public void actionPerformed(TableCellListener.Event e) {
System.out.println("Cell " + e.getRow() + "," + e.getColumn() + " changed. Old value = " + e.getOldValue() + ", new value = " + e.getNewValue());
}
});
// 设置窗口大小并显示
setSize(400, 300);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new TableCellListenerTest();
}
}
```
在这个例子中,我们创建了一个包含四行三列数据的表格,并将其放置在 JFrame 窗口中。我们还创建了一个 TableCellListener 对象,并将其添加到表格中。当用户编辑单元格时,TableCellListener 将会触发 actionPerformed 方法,并打印出单元格的旧值和新值。
注意,我们必须传递一个 TableCellListener.Action 对象给 TableCellListener 构造函数。这个对象可以包含任何我们想要执行的代码,例如更新数据库或重新计算表格中的某些值。在这个例子中,我们只是简单地打印出了单元格的值。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)