我的应用程序中有一个JTable,它从MySql数据库中获取记录,并按排序顺序显示它们。 直到现在我一直在使用单独的JTextArea和JComboBox来允许用户编辑表格,例如
所以每当有人点击表格中的一行时,记录的ID就会在JComboBox之前的JLabel中自动更新。
问题是如何让用户只需双击并编辑单元格中的值,这些值将自动触发SQL Update查询并在数据库中更新相同的内容。我想在某些列上只允许这个,而不是每个列。
我们非常感谢使用代码示例的响应。
答案 0 :(得分:1)
如何让用户只需双击并编辑单元格中的值,这些值将自动触发SQL Update查询并在数据库中更新相同内容。
您可以使用TableModelListener
通知TableModel
的更改。
我想在某些列上只允许这个而不是每个列。
在TableModelEvent
中可以找到行/列,因此您可以在调用SQL更新之前检查更改的列。
这个问题的一个潜在问题是即使数据没有改变也会生成TableModelEvent。也就是说,如果您将单元格置于编辑模式,例如,选项卡到下一个单元格而不进行更改,则仍会生成数据和事件。
要解决此问题,您可以考虑使用Table Cell Listener。使用此类时,仅在数据实际已更改时生成事件。