2016-10-05 8 views
1

RowFilter 예제는 텍스트 비교 만 수행하지만 특정 속성에 연결된 행을 필터링하는 방법은 무엇입니까?JTable 사용자 정의 RowFilter?

내 데이터 모델 클래스

class MyDataModel 
{ 
    private ArrayList<MyFile> data; // for the rows data 

... 그래서 난을 MyFile가 (이 필드 또는 더 복잡한 테스트) true로 몇 가지 속성을 가진 행을 필터링 어떻게

class Myfile 
{ 
    private boolean error; // file name issues 
    private boolean ignored; // file ignored for process 
    private boolean exception; // file processed no matter other conditions 
... 

감사합니다.

+0

([예] http://stackoverflow.com/a/ 설명 17856131/714968) @trashgod에 의한 대답 – mKorbel

답변

1

텍스트 란 무엇을 의미합니까? 비교? 필터를 추가하고 포함 메소드를 재정의 했습니까?

boolean include(RowFilter.Entry<? extends M,? extends I> entry) 

는 여기 API 문서 RowFilter 자체는 당신이 정수/수에 따라 또는 속성 유형을 기준으로 필터링 할 수있는 방법

+0

사실, 이상한 예를 들어 내가 발견 한 예제는 regexfilter andfilter, orfilter ... – fdsfdsfdsfds

0
RowFilter<Object,Object> filter = new RowFilter<Object,Object>() 
    { 
     public boolean include(Entry<? extends Object, ? extends Object> entry) 
     { 
      int rowID=(Integer)entry.getIdentifier(); 
      FilesTableModel data=(FilesTableModel) entry.getModel(); 
      return data.isVisible(rowID); 
     } 
    }; 
    TableRowSorter<FilesTableModel> sorter = new TableRowSorter<FilesTableModel>(data); 
    sorter.setRowFilter(filter); 
    table.setRowSorter(sorter);