相关疑难解决方法(0)

监听JTable单元格值的更改并相应更新数据库的最佳方法是什么?

我正在使用多个构建和应用程序,JTables我需要检测何时发生单元格值更改,以便我可以在数据库中更新它.我尝试TableModelListener并覆盖tableChanged,但只有在我编辑完单元格后单击(单击另一行)才会触发.

还有其他办法吗?

java swing jtable listener tablemodel

9
推荐指数
2
解决办法
3万
查看次数

如何将一个鼠标监听器添加到JTable的单元格中,该单元格保存一个呈现为复选框的布尔值

我有一个JTable,其中实现了一个扩展AbstractTableModel的自定义模型.

public abstract class AbstractTable extends AbstractTableModel{

     public Class<? extends Object> getColumnClass(int c) {}
}
Run Code Online (Sandbox Code Playgroud)

因为我已经实现了getColumnClass方法,所以布尔值会像复选框一样呈现在表中.我想截取复选框的状态更改但不幸的是我不能直接添加鼠标监听器,因为我没有对复选框本身的引用,它不是由我创建的.

如何设置鼠标侦听器来拦截复选框状态更改事件?

编辑:

@jzd的答案是对的.我可以在setValue方法中捕获更改.但我想知道如何实现基于鼠标监听器的方法.

java swing jtable jcheckbox mouselistener

6
推荐指数
2
解决办法
8931
查看次数

简单快速的JTree Cell Editor

我有一个带有自定义TreeModel和自定义TreeRenderer的JTree.树模型包含一堆不同类型的对象.其中一种类型的显示方式与其他类型不同:显示的文本是对象的两个字段的串联.当我编辑单元格时,我想用编辑的文本更新其中一个字段.到目前为止,我的工作得很好.

我的问题:当编辑时显示的文本是2个字段的完整连接值时,即使您实际上只是编辑其中一个字段,这也很令人困惑.所以我想只显示用户开始编辑时正在编辑的一个字段的内容.

我尝试使用自定义CellEditor来做这件事,我看到它应该工作的方式,这种方法在我的情况下似乎有点过分.我只是想在很多情况下改变显示的文本,所以我自然而然地希望实现它,而不是整个CellEditor来完成我的Tree的整个内容.

是否有更快速,更简单的方法,或者我必须使用自定义编辑器?

谢谢

java swing jtree tablecelleditor

6
推荐指数
1
解决办法
6262
查看次数