Java GlazedList单个列筛选
我目前有一个表,在各个列标题中有一个textfield,它根据每个列进行过滤。。我试着用上釉列表来代替,但我该怎么做呢?每列都应该有一个单独的文本字段,并根据所有文本字段进行过滤,这些文本字段根据单独的列进行过滤。 例如:列有“名字”和“姓氏”的表格。 该表将根据名字过滤器中的名字和姓氏过滤器中的姓氏筛选结果
你可以在下面搜索框中键入要查询的问题!
我目前有一个表,在各个列标题中有一个textfield,它根据每个列进行过滤。。我试着用上釉列表来代替,但我该怎么做呢?每列都应该有一个单独的文本字段,并根据所有文本字段进行过滤,这些文本字段根据单独的列进行过滤。 例如:列有“名字”和“姓氏”的表格。 该表将根据名字过滤器中的名字和姓氏过滤器中的姓氏筛选结果
# 1 楼答案
首先你需要弄清楚的是,GlazedList主要是关于处理列表的对象的,线索在名称中。许多人将其视为添加排序和;将功能过滤到表和列表,这肯定会引起麻烦
因此,首先关注glazedList将为您提供一种称为
EventList
的特殊类型的列表结构,这是您的核心数据结构;从那里,您将获得用于转换、排序、筛选等的有用方法。然后,由于它非常慷慨,有易于使用的类将您的事件列表链接到JList或JTable一旦这些都连接好了,对列表的更改和转换将自动传播到链接到列表的任何Swing组件
无论如何,这里有一个示例类,它将向您展示如何创建事件列表,然后通过Swing组件应用文本过滤器,然后将其链接到Swing表。(这不包括排序,也不包括如何获取所选项目,但文档非常优秀。)
使用Java9和GlazedList 1.11进行测试