在JTable中编辑单元格值时更新mysql

时间:2018-05-25 15:26:48

标签: java mysql swing jtable

我的应用程序中有一个JTable,它从MySql数据库中获取记录,并按排序顺序显示它们。 直到现在我一直在使用单独的JTextArea和JComboBox来允许用户编辑表格,例如enter image description here

所以每当有人点击表格中的一行时,记录的ID就会在JComboBox之前的JLabel中自动更新。

问题是如何让用户只需双击并编辑单元格中的值,这些值将自动触发SQL Update查询并在数据库中更新相同的内容。我想在某些列上只允许这个,而不是每个列。

我们非常感谢使用代码示例的响应。

1 个答案:

答案 0 :(得分:1)

  

如何让用户只需双击并编辑单元格中的值,这些值将自动触发SQL Update查询并在数据库中更新相同内容。

您可以使用TableModelListener通知TableModel的更改。

  

我想在某些列上只允许这个而不是每个列。

TableModelEvent中可以找到行/列,因此您可以在调用SQL更新之前检查更改的列。

这个问题的一个潜在问题是即使数据没有改变也会生成TableModelEvent。也就是说,如果您将单元格置于编辑模式,例如,选项卡到下一个单元格而不进行更改,则仍会生成数据和事件。

要解决此问题,您可以考虑使用Table Cell Listener。使用此类时,仅在数据实际已更改时生成事件。