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