用Java过滤Combobox数据
在java中,假设有两个jpanel,当我点击Panle’1’上的按钮’A’时,它将显示面板’2’。 在面板’2’中,有两个combobox,我完成了所有必要的编码。 但有一点需要过滤,即combobox’1’只会显示那些拥有’book’prefix的数据。 &combobox’2’将仅显示没有’book prefix’的人。 我该如何过滤它?
ComboBoxModel
控制JComboBox
的内容。 过滤我所知道的唯一方法是在模型中没有不需要的值。 您可以在创建模型时将其过滤掉。
假设您在List
拥有所有所需的值,我将使用GlazedLists库。 它提供了可观察的列表,让你可以用它们做各种有趣的事情,比如过滤和排序。 在这种情况下特别感兴趣的是FilterList
:你为它提供了一个EventList
和一个Matcher
,它决定了如何过滤EventList。 FilterList的作用类似于EventList上的视图,这意味着如果更改EventList,FilterList将反映这一点。 使用此FilterList,您可以创建EventComboBoxModel
并将其用作模型。