2010-06-01 6 views
0

autoCreateRowSorter가 활성화 된 Swing 앱에이 JTable을 가지고 있습니다. 내 테이블에는 3 개의 열, 2 개의 문자열 및 1 개의 int 만 있으며, 열 머리글을 클릭하면 모든 테이블에서 잘 작동합니다.Swing JTable의 autoCreateRowSorter의 초기 상태

그러나 프로그래밍 방식으로이를 수행 할 방법을 찾고 있습니다. 이 테이블의 "초기 상태"를 설정하려고했습니다. Windows의 모양과 느낌에 따라 열 머리글 (정렬 할 때)에는 정렬 순서를 나타내는 작은 화살표가 있습니다. 그러나 시작되지 않은 상태에서 처음 클릭하면됩니다.

코드로 어떻게 할 수 있습니까? 내가 DefaultRowSorter#toggleSortOrder(int column)이 작업

답변

1

는 programaticallly 당신이 뭔가를 할 수있는 테이블을 정렬합니다.

table.getRowSorter().toggleSortOrder(column); 

도 마찬가지입니다.

+0

그런 간단한 일을하기에 너무 많은 줄이있어서 나는 자바 롤을 싫어한다. 고마워요 :) –

+0

@ Nazgulled 항상 간단한 목표에 도달하기위한 더 긴 경로가 있습니다 :-) 리차드의 코어에서 가장 짧은 버전을보십시오. JXTable은 더 짧은 솔루션을 위해 테이블 ​​수준에서 편의 API를 제공합니다. – kleopatra

1

당신은 심지어 DefaultRowSorter 인터페이스를 필요가 없다 할 것입니다 생각

DefaultRowSorter sorter = ((DefaultRowSorter)table.getRowSorter()); 
ArrayList list = new ArrayList(); 
list.add(new RowSorter.SortKey(0, SortOrder.ASCENDING)); 
sorter.setSortKeys(list); 
sorter.sort();