2012-07-10 3 views
0

BeanTableModel을 tableModel로 사용하여 사용자 정의 테이블을 만들었습니다 (이 경우 중요하지 않음). 테이블은 enum Object의 데이터를 채우고 shoudl은 객체에 데이터를 채 웁니다. 현재 동작은 테이블이 데이터를 올바르게 채우는 것입니다. 내가 셀에 글을 쓰면 할 수 있습니다. 그러나 내가 탭을 때, 셀은 빨간색으로 윤곽이 그려져 있으며, 원래 데이터로 정상으로 셀을 반환하는 ESC 만 할 수 있습니다. 나는 테이블을 편집하고 데이터를 저장할 수 있기를 원한다.표 셀을 편집 할 수 없습니다. Java Swing

어떤 가능한 수정 또는 문제점이 있습니까?

+2

'isCellEditable (int rowIndex, int columnIndex)'에 대해 TableModel이 반환하는 것은 무엇입니까? –

답변

3

CellEditor 그리고, 경우 그 Column Class is Number

  • 들어 Class.types 대응 CellEditorNumbers, decimal separatornegative sign,

  • 될 수 가장 복잡한 입력 정확한 값을 받아들이는 것을 inputed 값을 수락 일반용 Date Class

  • BeanTableModel

  • 의 세트 빨리 셀이 빨간색에 설명 된 SSCCE

+0

내 열은 문자열입니다. 그 점은 anythign else에 대한 힌트입니까? – kaid

+0

+1 이것이 중요한 통찰력이라고 생각합니다. – trashgod

2

을 게시 더 도움이되는 Class.typesFormatters의 따라 달라집니다. here 나타낸 바와

, 이것은 default editor, JTable.GenericEditor의 동작이다. 다른 사용자가 제안한대로 TableModelgetColumnClass()의 잘못된 구현이 있음을 나타냅니다. 문제를 파악하는 데 도움이되는 sscce을 포함하도록 질문을 편집하십시오.

+0

_TableModel에 isCellEditable() _의 잘못된 구현이 있습니다. 그게 무슨 뜻인지는 알 수 없습니다 :) – kleopatra

+0

D' oh, you 're right; 나는'getColumnClass()'를 의미했다. 고맙습니다. – trashgod

관련 문제