无法编辑表格单元格:Java Swing

问题描述:

我使用BeanTableModel创建了一个自定义表格作为tableModel(不知道这是否重要)。该表从一个枚举对象中填充数据,并且写入该对象。目前的行为是表格会正确地填充数据。如果我写在一个单元格中,我可以。但是,当我标签,单元格是在RED概述,我只能ESC,它返回细胞正常与原始数据。我想要编辑表格并保存数据。无法编辑表格单元格:Java Swing

什么是一些可能的修复或问题点?

+2

你的TableModel为'isCellEditable(int rowIndex,int columnIndex)返回什么? – 2012-07-10 19:01:29

CellEditor接受inputed值,在的情况下Column Class is NumberClass.types对应,例如

  • ,然后CellEditor只接受Numbersdecimal separatornegative sign

  • 最复杂的可以输入正确的值for plain Date Class

  • 依赖的Class.typesFormatters是套在你的BeanTableModel

  • 为更好地帮助越早张贴SSCCE

+0

我的列是字符串,是否暗示任何其他? – kaid 2012-07-10 21:27:17

+0

+1我认为这是至关重要的见解。 – trashgod 2012-07-11 00:00:36

细胞在红色概述。

如图所示here,这是的default editorJTable.GenericEditor的行为。这表明你的TableModel有一个不正确的执行getColumnClass(),正如其他人所建议的。请修改您的问题以包含sscce,这可能有助于隔离问题。

+0

_TableModel isCellEditable()_的错误实现不能不是你的意思:) – kleopatra 2012-07-11 08:21:51

+0

D'oh,你是对的;我的意思是'getColumnClass()'。谢谢。 – trashgod 2012-07-11 08:34:40