我有一个表格列,我正在覆盖DefaultCellRenderer以显示图标。
有没有办法可以检测到JTable单元格的双击,所以我可以切换相应的行值的状态,以便它改变两个值之间的图标(表示“关闭”和“打开”)?
答案 0 :(得分:1)
有两种方式:
1)更简单的方法:将鼠标监听器附加到表中,监听双击,按rowAtPoint / columAtPoint查找行和列,更改值,并在表模型中调用fireCellChanged()。
2)更难(但稍微好一点)的方法:拥有一个自定义单元格编辑器,在编辑时更改值,并调用stopCellEditing()。
您无需同时执行这两项操作。
也可以检查一下,这类似但是有一个按钮: http://tips4java.wordpress.com/2009/07/12/table-button-column/
答案 1 :(得分:-1)
单击执行单击时,单元格编辑器将替换呈现的单元格,因此还提供与呈现内容相同的单元格编辑器,添加鼠标侦听器并捕获双击并执行任何所需操作。完成后调用stopCellEditing()
。