2011-01-30 5 views
1

인사말,JTable 자동 업데이트 도움말

내 문제에 대해 DefaultTableModel이 어떻게 작동하는지 이해하고 있습니다. JDBC - MySQL을 사용하여 내 데이터의 쿼리 데이터를 이미 가지고있는이 JTable을 가졌습니다. JTable의 index0는 항상 기본 키를 표시합니다. 그리고 셀의 데이터가 검색 될 최종 2 차원 객체 배열에는 항상 빈 행이 있습니다.

현재 필자는 fireCellUpdated()를 트리거하는 setValueAt 메소드를 모델에 포함 시켰습니다. 그것은 효과가 있지만 단점은 데이터가 JTable에 표시되지만 배열에서 변경된다는 것입니다. 어떻게 해결할 수 있습니까?

귀하의 답변은 높이 평가됩니다.

감사합니다.

+0

어레이가 모델을 구동 중이므로 디스플레이가 일치해야하는 어레이를 변경하면 문제를 이해할 수 없습니다. – jzd

+0

배열을 확인할 때 변경 내용이있었습니다. JTable에는 표시되지 않습니다. –

답변

4

배열을 확인할 때 변경 사항이있었습니다. 그러나 JTable에는 표시되지 않습니다.

절대 어레이를 직접 업데이트하면 안됩니다. 이 배열은 모델을 만들 때 DefaultTableModel의 데이터를 채우는 데 사용됩니다. DefaultTableModel은 벡터의 벡터에 데이터를 저장하므로 모든 데이터가 Array에서 모델로 복사됩니다. 그 후, 모든 갱신을 TableModel에 직접 행할 필요가 있습니다.

+0

모든 업데이트를 다시 배열로 반환하는 방법이 있습니까? –

+1

자동으로 - 자동으로 수행해야합니다. Camickr이 말했듯이, 배열은'DefaultTableModel'이 생성되면 실제로 무시됩니다. 배열을 데이터의 실제 소스로 사용하려면'AbstractTableModel'을 확장하여 자신 만의 테이블 모델을 만드십시오. 그다지 어렵지는 않습니다. 자세한 내용은 [이 자습서] (http://download.oracle.com/javase/tutorial/uiswing/components/table.html#data)를 참조하십시오. –

+0

확인. 그러면 모델을 다시 개조 해 보겠습니다. 주제를 완성하면 업데이트 할 것입니다. –