【发布时间】:2012-07-08 04:26:03
【问题描述】:
我有自己的TableModel 实现,旨在显示来自SQL 数据库的数据。我已经覆盖了所有必要的方法,对列名使用字符串数组,对数据使用arraylist<Object[]>,对可以从数据库中检索的所有不同类型使用Class<?>[] 数组。我还有一个布尔数组,它指示哪些列是可编辑的,哪些是不可编辑的。在我将表中的所有内容都存储为对象并且尚未实现类型部分并且它运行良好之前。现在我已将类型添加到模型中,我无法编辑任何 int 类型的列,即使该列在我的布尔数组中是可编辑的。我已经覆盖了isEditable() 方法以简单地从该布尔数组中返回值,并且在有问题的 into 列上返回 true - 但它仍然不可编辑。这是定义行为还是有问题?恐怕我目前无法发布代码,因为我正在使用手机,我的笔记本电脑目前没有互联网连接,并且要到本周末才能发布。我已经搜索过,但谷歌只显示了很多关于使单元格可编辑或不可编辑的问题,而不是为什么你不能编辑 int 列。
编辑:这是一个显示我的问题的 pastebin:http://pastebin.com/cYJnyyqy
使用 jdk7 并且只有字符串列是可编辑的,即使 isEditable() 对所有列都返回 true。
【问题讨论】:
-
如果您确定 isEditable 返回 true,您可能需要检查此列的编辑器。
-
查看您的通知,但为了获得更好的帮助,请尽快发布 SSCCE 证明您的 JTable 问题
-
“将类型设置为 int”是什么意思?
标签: java swing jtable tablecellrenderer tablecelleditor