데이터베이스의 데이터를로드 한 다음 테이블 아래쪽에 요약 행을 생성하는 JTable이 있습니다. 나는 사용자가 테이블을 정렬 할 수 있기를 원하지만 요약 행이 항상 테이블의 맨 아래에 남아 있도록하고 싶습니다.Java JTable - 사용자 정의 행 정렬 도구
커스텀 TableRowSorter를 만들려고했지만, 알아 내려고 원하는대로하기가 어려웠습니다.
누구든지이 작업을 수행하는 방법을 알고 있습니까? 감사합니다.
데이터베이스의 데이터를로드 한 다음 테이블 아래쪽에 요약 행을 생성하는 JTable이 있습니다. 나는 사용자가 테이블을 정렬 할 수 있기를 원하지만 요약 행이 항상 테이블의 맨 아래에 남아 있도록하고 싶습니다.Java JTable - 사용자 정의 행 정렬 도구
커스텀 TableRowSorter를 만들려고했지만, 알아 내려고 원하는대로하기가 어려웠습니다.
누구든지이 작업을 수행하는 방법을 알고 있습니까? 감사합니다.
값이 요약인지 아닌지를 결정하는 클래스가 필요합니다. SummaryComparator
를 반환해야이
public class SummarizedValue {
public Integer value;
public boolean summarized;
public String toString() {
return null == value? "" : value.toString();
}
}
public class SummaryComparator implements Comparator<SummarizedValue> {
public int compare(SummarizedValue v1, SummarizedValue v2) {
if (v1.summarized) return 1;
if (v2.summarized) return -1;
return v1.value.compareTo(v2.value);
}
}
public class SummaryBackComparator implements Comparator<SummarizedValue> {
public int compare(SummarizedValue v1, SummarizedValue v2) {
if (v1.summarized) return 1;
if (v2.summarized) return -1;
return v2.value.compareTo(v1.value);
}
}
같은 뭔가 당신은 당신의 열의 클래스 SummarizedValue
의 객체와 행 분류기를 표시해야합니다. 또한 SummaryBackComparator
을 사용하도록 RowSorter의 토글 동작을 재정의해야합니다.
[SSCCE] (http://sscce.org/) – Amarnath
[* 정렬 및 필터링 *] (http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#sorting) 근처에서 예제를 시작할 수 있습니다. – trashgod
제안 해 주셔서 감사합니다! (실제로 게시 할 항목이 없었기 때문에 어떤 코드도 게시하지 않았습니다. 행 분류기로 시작하는 위치가 어디 인지도 확실하지 않았습니다.) – Arrdeearr