JTable과 DefaultTableModel을 가지고 있는데, 매 3 초마다 JTable의 모든 행을 삭제하고 JTable에 새 행을 추가하려고합니다. 성능을 고려해 볼 때, Jtable을 다시 만들거나 모든 행을 제거하고 행을 추가하는 것이 최선의 선택입니까?Jtable을 다시 만들거나 모든 행을 제거하고 새 행을 추가 하시겠습니까?
0
A
답변
0
Jtable을 갱신하거나 모든 행과 addrow를 제거하는 가장 좋은 방법은 무엇입니까?
JTable을 다시 만들면 모든 렌더러와 편집기가 테이블에 대해 다시 생성됩니다.
TableModel을 변경하면 TableColumnModel 및 새 TableModel을 기반으로하는 모든 TableColumns를 다시 만들어야합니다.
JTable/TableModel 관계를 지원하기 위해 만들어야 할 개체가 더 많이 있습니다.
행을 제거하고 행을 추가하면 현재의 모든 렌더러를 사용하여 테이블이 새 데이터를 다시 칠하기 만합니다. 나는 이것이 더 효율적이라고 말한다. 한 번에 하나의 행을 추가하는 대신 한 번에 모든 행을 추가해야합니다.
0
데이터 개체를 파고 드는 테이블 모델을 만들 수 있습니다. 기본 데이터 객체를 변경하는 즉시 fireTableDataChanged()를 호출합니다. AbstractTableModel가 # fireTableDataChanged()에 대한의 JavaDoc에서
:는 테이블의 행의 모든 셀의 값이 변경되었을 수 있습니다 모든 청취자에게 통지합니다. 행 수가 변경되었을 가능성이있어, JTable는 테이블을 처음부터 다시 그려야합니다. 표의 구조 (열 순서대로)는 동일하다고 가정합니다.
* "renew Jtable .."* 그게 무슨 뜻입니까? * ".. 또는 모든 행과 addrows 제거"* 그게 내가 추구하고자하는 접근법입니다. –