什么是JTable的任何单元格中的更改的正确事件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是JTable的任何单元格中的更改的正确事件?相关的知识,希望对你有一定的参考价值。
我有一个简单的JTable,有两列很重要:数量和值(整数)。每次用户输入新行或更新一行时,每行值必须乘以数量,结果合在一起,结果总和显示在JTable外部的JLabel中。看起来很简单。除了我不知道我应该寻找什么事件。像“细胞价值变化”之类的东西?当我在NetBeans中右键单击JTable时,我看不到这样的事件或者不认识它;)无论如何,在我想出一些奇怪的noobish解决方案之前,我想我可能会问这里有什么正确的方法:)
你应该添加一个TableModelListener描述here。
另外,在你的听众中,一旦你以编程方式更新了其他单元格值的值,你需要调用model.fireTableCellUpdated
让swing知道这些变化
最后,我设法找到了如何在NetBeans中完成所有代码保护,等等。在“设计视图”,“属性”,“代码”选项卡中右键单击JTable,然后在“预添加代码”部分中添加代码(在将表添加到容器之前评估的代码或类似的东西)。
对我有用的确切代码是:
table.getModel().addTableModelListener(
new TableModelListener()
{
public void tableChanged(TableModelEvent evt)
{
// here goes your code "on cell update"
}
});
我知道上面的Tom建议永远不要调用getModel(),但是我太新了,不能理解为什么(请注意解释,请......?):)这只是一个例子,无论如何,我正在添加这个答案只是为了展示如何在NetBeans中做到这一点(感谢pstanton回答了该怎么做)。因为我发现很多人在网上问这个并没有真正的答案(除了“将受保护的代码复制出NetBeans保护区域然后自定义你的表格”)。
以上是关于什么是JTable的任何单元格中的更改的正确事件?的主要内容,如果未能解决你的问题,请参考以下文章