TableRowSorter
TableRowSorter (테이블 행 정렬기)
JTable을 위한 RowSorter의 구체적 구현입니다. 열 기준 정렬과 필터링을 제공합니다.
본문
정렬 외에도 TableRowSorter는 필터링 기능을 제공합니다. 필터는 setFilter 메서드로 지정합니다. 다음 예시는 "foo" 문자열을 포함하는 행만 표시합니다.
TableModel myModel = createMyTableModel();
TableRowSorter sorter = new TableRowSorter(myModel);
sorter.setRowFilter(RowFilter.regexFilter(".*foo.*"));
JTable table = new JTable(myModel);
table.setRowSorter(sorter);
기본 모델 구조가 바뀌면(modelStructureChanged 메서드 호출) 열별 Comparator, 현재 정렬 순서, 각 열의 정렬 가능 여부가 기본값으로 초기화됩니다. 기본 정렬 순서는 자연 순서(모델과 동일)이며, 열은 기본적으로 정렬 가능합니다.
TableRowSorter는 모델의 타입이라는 하나의 형식 매개변수를 가집니다. WARNING: DefaultTableModel은 열 클래스로 Object를 반환하므로 모든 비교가 toString으로 수행됩니다. 이는 불필요하게 비쌀 수 있습니다. 열이 Integer 같은 한 종류의 값만 포함한다면 getColumnClass를 오버라이드해 적절한 Class를 반환하세요. Since: 1.6