JTable:双击单元格时切换图标

时间:2011-04-08 19:39:42

标签: swing jtable double-click

我有一个表格列,我正在覆盖DefaultCellRenderer以显示图标。

有没有办法可以检测到JTable单元格的双击,所以我可以切换相应的行值的状态,以便它改变两个值之间的图标(表示“关闭”和“打开”)?

2 个答案:

答案 0 :(得分:1)

有两种方式:

1)更简单的方法:将鼠标监听器附加到表中,监听双击,按rowAtPoint / columAtPoint查找行和列,更改值,并在表模型中调用fireCellChanged()。

2)更难(但稍微好一点)的方法:拥有一个自定义单元格编辑器,在编辑时更改值,并调用stopCellEditing()。

您无需同时执行这两项操作。

也可以检查一下,这类似但是有一个按钮: http://tips4java.wordpress.com/2009/07/12/table-button-column/

答案 1 :(得分:-1)

单击执行单击时,单元格编辑器将替换呈现的单元格,因此还提供与呈现内容相同的单元格编辑器,添加鼠标侦听器并捕获双击并执行任何所需操作。完成后调用stopCellEditing()