RowSorter
RowSorter (행 정렬기)
정렬과 필터링의 기반을 제공하는 추상 클래스입니다. RowSorter를 만들고 설치하는 것 외에는 직접 상호작용할 일이 거의 없습니다.
본문
RowSorter<M>의 주된 역할은 뷰(예: JTable)와 기본 데이터 소스(보통 모델)라는 두 좌표계 사이의 매핑을 제공하는 것입니다. 행렬의 타입은 M입니다.
뷰는 toggleSortOrder와 모델 변경 메서드를 RowSorter에 호출합니다. toggleSortOrder는 사용자가 테이블 열 헤더를 클릭하는 것 같은 적절한 사용자 동작이 발생해 정렬이 트리거되었을 때 호출됩니다.
뷰가 convertRowIndexToModel, convertRowIndexToView, getViewRowCount 메서드를 많이 사용하므로 이 메서드들은 빨라야 합니다.
RowSorter는 RowSorterListener를 통해 변경을 알립니다. SORT_ORDER_CHANGED는 정렬 순서가 바뀌었음을, SORTED는 RowSorter가 유지하는 매핑이 바뀌었음을 알립니다. JTable을 위한 구체적 구현은 TableRowSorter를 참고하세요.
주요 메서드·상세 (Methods & details)
주요 메서드로는 뷰 인덱스를 모델 인덱스로 변환하는 convertRowIndexToModel(int), 그 반대인 convertRowIndexToView(int), 현재 정렬 키를 얻거나 설정하는 getSortKeys()/setSortKeys(List), 정렬 토글을 요청하는 toggleSortOrder(int) 등이 있습니다. 행 추가·삭제·수정을 알리는 rowsInserted/rowsDeleted/rowsUpdated도 제공합니다.