jtable 또는 glazedlist를 사용하여 여러 필터/검색 생성 및 사용
-
06-07-2019 - |
문제
나는 일반 테이블과 함께 여기에 여러 필터를 사용하는 방법을 찾았고 모두 지적한 답변을 찾았습니다. GlazedLists
. 그러나 답변은 사용 방법을 지정하지 않았습니다. 나는 하나의 필터를 작동시킬 수 있었지만 둘 이상을 얻는 방법을 모른다. 내가 사용한 하나의 필터의 경우 :
// nameE is a BasicEventList containing classes (name) which
// contain the table values
TextFilterList filtered = new TextFilterList(nameE);
JTextField filterEdit = filtered.getFilterEdit();
// Inside the table value class (name) there is a filter for myName
public void getFilterStrings(List baseList) {
baseList.add(myName);
}
코드를 복제하고 다른 코드를 생성합니다 JTextField
작동하지 않습니다. 나는이 문제를 보았고 나타난다 CompositeMatcherEditor
작동 할 수 있습니다. 문제는 이것을 구현하는 방법을 모른다는 것입니다.
또한 Eclipse를 사용하고 있습니다. 나는 다운로드했다 GlazedLists
1.8.0과 이클립스에 떨어 뜨 렸습니다. 그러나 나는 그것을 사용할 수 없습니다. 나는 온통 빨간 사각형이 있습니다 (소스 폴더 제외)! JAR 파일도 추가했습니다.
나는 내가 올바르게 설명했으면 좋겠다. 확장 해야하는지 알려주세요.
내 페이스트 빈 : 이름, 브라우저, TableFormat, Tablemodel
해결책
TextFilterList는 더 이상 사용되지 않습니다 Javadocs - 그러나 그것은 부수적 인 문제입니다.
여기서 사용할 수있는 몇 가지 접근 방식이 있습니다. 정말 간단하게 원한다면 필터 목록을 다른 필터 목록으로 랩핑하기 만하면됩니다.
EventList filtered = new FilterList(new FilterList(nameE, myFirstMatcherEditor), mySecondMatcherEditor);
더 나은 방법은 여러 대의자 편집기를 사용하여 compositematchereditor:
EventList filtered = new FilterList(nameE, new CompositeMatcherEditor(myFirstMatcherEditor, mySecondMatcherEditor));
SetMode를 사용하여 편집자가 사용 및 OR 또는 동작을 결합하는지 여부를 제어 할 수 있습니다.
여기에 있습니다 정보를 읽어야합니다 필터 목록을 사용합니다.
사용 가능한 스크린 캐스트 여기 또한 몇 분 동안 투자 할 가치가 있습니다.