2
테이블 뷰어를 사용하여 테이블을 만들었으므로 텍스트 상자에 입력 한 텍스트를 기반으로 필터링해야하므로 테이블을 필터 할 수있는 방법은 무엇입니까? 테이블을 만들려면 다음과 같습니다.입력 된 텍스트를 기반으로 JFace에서 테이블 뷰어를 필터링하는 방법
TableViewerColumn message = new TableViewerColumn(viewer, SWT.NONE);
message.getColumn().setWidth(800);
message.getColumn().setText("Message");
message.setLabelProvider(new ColumnLabelProvider()
{
@Override
public void update(ViewerCell cell)
{
Object element = cell.getElement();
if(element instanceof MyObject)
{
MyObject obj = (MyObject) element;
cell.setText(obj.getMessage());
}
}
});
}
private static class MyObject
{
private String first;
private String second;
private String message;
public MyObject(String first, String second,String message)
{
this.first = first;
this.second = second;
this.message = message;
}
public String getFirst()
{
return first;
}
public void setFirst(String first)
{
this.first = first;
}
public String getSecond()
{
return second;
}
public void setSecond(String message)
{
this.second = second;
}
public String getMessage()
{
return message;
}
public void setMessage(String message)
{
this.message = message;
}
이제 테이블을 어떻게 필터링 할 수 있습니까?
viewer.addFilter(new MyFilter());
전화 :
class MyFilter extends ViewerFilter
{
@Override
public boolean select(Viewer viewer, Object parentElement, Object element)
{
MyObject obj = (MyObject)element;
// TODO return true to include the object, false to exclude
}
}
이있는 테이블이 추가 : 나는 필터를 추가 할 ViewerFilter
에서 파생 된 클래스를 사용하여 테이블 뷰어에게
메시지 coloum을 제외한 모든 coloum을 필터링 할 수 있습니다. 코드는 다음과 같습니다 –