JFace Viewer 2

  href="http://writeblog.csdn.net/fckeditor/editor/images/style.css" type="text/css" rel="STYLESHEET" /> href="http://writeblog.csdn.net/fckeditor/editor/images/docsafari.css" type="text/css" rel="STYLESHEET" />

5.1.3. Viewer 排序器

排序器(参见Figure 5-5ViewerSorter 层次图) 用来为内容供给器提供的元素排序。 (参见 Figure 5-1). 如果viewer没有没有使用排序器,元素将按照内容供给器提供 的默认顺序排列。 viewer使用 setSorter() 方法来使用排序器。

 

Figure 5-5. ViewerSorter 层次图


 


默认的排序算法采用两步过程。首先,将元素分组为不同的类别;然后,基于标签供给器提供的文字标签为每种类别排序。默认的情况下,所有的元素都是同一类别,所以所有的元素都是按照文字标签排序。你可以重写默认的分类方法,使用其他的比较规则。

ViewerSorter使用的API包括:

 

category(Object) 返回指定元素的分类。

 

 

compare(Viewer, Object, Object) 按照第一个元素小于,等于,大于的不同情况分别返回负数,零,正数。 

 

 

getCollator() 返回用来排列字符串的比较器。 

 

 

isSorterProperty(Object, String) 返回排序器是否受指定元素属性改变的影响。对 

 

 

sort(Viewer viewer, Object[]) 只排列指定的元素。

 

使用排序器的例子参见5.1.6节, ListViewer 类。

5.1.4. 过滤器


过滤器(参见Figure 5-6ViewerFilter 层次图) 用来显示内容供给器提供的元素的子集。(参见Figure 5-1)。如果viewer没有使用过滤器,将显示所有的元素。 viewer使用 setFilter() 方法来使用过滤器。

 

 

Figure 5-6. ViewerFilter 层次图


ViewFilter常用API如下所示。实现一个简单的过滤器只需要 重写  viewer  select(Viewer, Object, Object) 方法即可,来决定一个对象是否可以显示在viewer中。

 

filter(Viewer, Object, Object[]) 为指定的viewer过滤指定元素。该方法默认调用调用 select(Viewer, Object, Object)方法。

 

 

isFilterProperty(Object, String) 返回指定元素的指定属性发生改变是否对过滤器有影响。 该方法的默认实现是返回 false.

 

 

select(Viewer, Object, Object) 返回指定元素是否要被过滤。

 

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值