2012-07-10 72 views
0

我使用BeanTableModel創建了一個自定義表格作爲tableModel(不知道這是否重要)。該表從一個枚舉對象中填充數據,並且寫入該對象。目前的行爲是表格會正確地填充數據。如果我寫在一個單元格中,我可以。但是,當我標籤,單元格是在RED概述,我只能ESC,它返回細胞正常與原始數據。我想要編輯表格並保存數據。無法編輯表格單元格:Java Swing

什麼是一些可能的修復或問題點?

+2

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

回答

3

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

2

細胞在紅色概述。

如圖所示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