에 추가 된 행을 지속하기 :스크롤 내가 더 많거나 적은 지속적으로 업데이트하는 JTable가, 채우기 위해의 HashMap을 사용 JTable의
공공지도를 < 긴, MyObject를> tableData = 새로운 HashMap의 < 롱, MyObject를> ();
새로운 요소가 테이블 모델이 통지되는 맵에 추가 될 때마다 :
나는 특정 기준에 따라 행을 정렬 TableRowSorter를 가지고 또한tableData.put(id, anObject);
AbstractTableModel atm = (AbstractTableModel)model;
atm.fireTableDataChanged();
:
TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model);
.
.
.
table.setRowSorter(sorter);
을
내 목표는 아마도 (수직) 스크롤바가 마지막으로 추가 된 행으로 점프하는 것인데, 이것은 아마도이 분류기 때문에 테이블의 중간에있는 에있을 수 있습니다 :
table.scrollRectToVisible(table.getCellRect(row,0, true));
문제는 행의 인덱스를 모른다는 것입니다.이 인덱스를 얻으려면 어디에서 연결할 수 있습니까? 잠재적으로 정렬 된 테이블에 새로 삽입 된 행 스크롤
는
관련없는 : a) 결코 모델 대신 이벤트를 실행하지 말고 대신 알림 계약 자체를 수행하는 API를 수정하여 사용자 지정 모델을 구현하십시오. b) 가능한 가장 좁은 이벤트를 항상 발생시킵니다. update/insert (대 샷건 dataChanged) c) rowSorter가 일반 코어 버전 인 경우 수동으로 만들고 설정하는 대신 table.setAutoCreateRowSorter (true)를 사용하는 것이 좋습니다. – kleopatra