모든 열이 같지만 데이터가 다른 JXTable 수가 있습니다. 열 중 하나의 헤더를 클릭하여 데이터를 정렬 할 수 있습니다. 지금 원하는 것은 테이블 중 하나의 헤더를 클릭 할 때 다른 테이블이 같은 방식으로 정렬된다는 것입니다.JXTable은 같은 방식으로 비슷한 테이블 정렬 및 정렬을 청취합니다.
4
A
답변
4
각 JTable
의 RowSorter
을 참조하는 중개자 클래스를 정의하고 각 분류기에 RowSorterListener
으로 등록 할 수 있습니다. 주어진 분류기가 변경되면 getSortKets()
을 사용하여 현재 정렬 키 목록을 검색하고 setSortKeys(List<? extends SortKey>)
을 사용하여 다른 모든 분류기로 전달할 수 있습니다. 내가 그렇게 할 것
public void sorterChanged(RowSorterEvent e) {
// The changing flag prevents an infinite loop after responding to the inital
// sort event.
if (!changing) {
changing = true;
RowSorter changedSorter = e.getSource();
List<? extends SortKey> keys = changedSorter.getKeys();
for (RowSorter sorter : sorters) {
if (sorter != changedSorter) {
// Install new sort keys, which will cause the sorter to re-sort.
// The changing flag will prevent the mediator from reacting to this.
sorter.setSortKeys(keys);
}
}
}
}
0
:
public class SortMediator implements RowSorterListener {
private final List<RowSorter> sorters;
private boolean changing;
public void addRowSorter(RowSorter sorter) {
this.sorters.add(sorter);
}
public void sorterChanged(RowSorterEvent e) {
...
}
}
이제 우리는 주어진 분류기 이벤트에 응답 할 sorterChanged(RowSorterEvent e)
을 구현 :
예
먼저 우리는 중재자 클래스를 정의 왜냐하면 그것은 사용자로부터 제어권을 빼앗기 때문입니다 : 다른 파이를 비교하기 위해 테이블을 다르게 정렬해야 할 수도 있습니다 데이터의 에이스.
대신보기 메뉴에 "정렬 기준"옵션을 추가하십시오. 이 옵션을 변경하면 모든 테이블이 정렬되지만 사용자가 특정 테이블을 정렬하지 않으면 해당 테이블을 그대로 둘 수 있습니다.
관련 문제
- 1. jQuery : 테이블 정렬을 활성화하고 새 행을 삽입하는 동안 테이블 정렬을 유지합니다.
- 2. 정렬을 위해 두 개의 테이블 열 추가
- 3. 빠른 정렬을 사용하여 배열 정렬
- 4. 집계 정렬을 사용한 이름 정렬
- 5. CodeIgniter를 사용하여 테이블 정렬을 수행하려면 어떻게해야합니까?
- 6. Richfaces, 정렬 가능한 데이터 테이블, 정렬 아이콘
- 7. swf가 XML, AS3을 청취합니다.
- 8. 테이블 형식 데이터 및 정렬
- 9. Ajax로 테이블 검색 및 정렬
- 10. SWT 테이블 필터 및 정렬
- 11. 비슷한 개체 당 하나의 테이블?
- 12. 테이블 내에서 테이블 정렬
- 13. nsxmlparse 테이블 뷰 정렬
- 14. 테이블 정렬
- 15. 삽입 정렬을 사용하여 객체의 arraylist 정렬
- 16. 영구 마스터 정렬을 사용하여 격자 정렬
- 17. MongoDB에서이 정렬을 수행하는 방법은 무엇입니까? (임베디드 정렬)
- 18. gtk에서 정렬 된 테이블 생성
- 19. 프로그래밍 방식으로 토스트의 정렬을 변경하는 방법은 무엇입니까?
- 20. QTableView의 열에 텍스트 정렬을 프로그래밍 방식으로 설정하는 방법은 무엇입니까?
- 21. 서버가 여러 포트를 청취합니다. c
- 22. mysql 데이터 정렬 및 인덱스
- 23. JSP 테이블 태그 정렬
- 24. 하나 이상의 델리게이트가 uisearchbar의 인스턴스를 청취합니다.
- 25. MySQL - 테이블 문자열별로 정렬 및 제한
- 26. TD 내부의 테이블 정렬
- 27. 두 요소가있는 테이블 정렬
- 28. 프로그래밍 방식으로 정렬 하시겠습니까?
- 29. DataGridView 프로그래밍 방식으로 정렬
- 30. jQuery tablesorter + tablefilter 및 dsiable 일부 테이블 헤더 정렬
문제는 테이블에 rowsorters가없는 것 같습니다. 'sortManager'조차도 null입니다. 그러나 정렬 열 헤더를 클릭하면 작동합니다. – Fortega
그것은 그것이 JXTable이기 때문에 생각합니다. 나는 정렬이 테이블에 의해 처리되었다고 생각했지만 이제는 더 이상 확실하지 않습니다. – Fortega
아 죄송합니다 - JXTable 인 것을 확인하지 못했습니다. JDK 1.6을 사용하고 있다면 JTable로 이동하는 것이 더 효율적으로 정렬되도록하는 것이 좋습니다. – Adamski