java在JComboBox中实现最近使用的或收藏夹下拉列表
我正在寻找将收藏夹/MRU类型行为添加到JComboBox的代码
我可以自己编写代码,但看起来肯定有人已经这么做了
我发现了以下内容(看起来与我想要的一模一样,但源代码还远远不够完整):http://java.sys-con.com/node/36658
有什么建议吗?我需要保持这种相对轻量级,所以我不希望使用作为单片小部件库一部分的组件,而更希望使用开源
你可以在下面搜索框中键入要查询的问题!
我正在寻找将收藏夹/MRU类型行为添加到JComboBox的代码
我可以自己编写代码,但看起来肯定有人已经这么做了
我发现了以下内容(看起来与我想要的一模一样,但源代码还远远不够完整):http://java.sys-con.com/node/36658
有什么建议吗?我需要保持这种相对轻量级,所以我不希望使用作为单片小部件库一部分的组件,而更希望使用开源
# 1 楼答案
那就把
JComboBox
子类化并覆盖给它你想要的功能
你只需要保持一个项目的内部列表与有效的同步,每当你添加一个新项目时,它就可以检查
size() >= maxItems
并减少最近的项目然后,您应该找到一种方法,在使用项目时刷新它。如果它的选择足够刷新,你可以写一个
ItemListener
来完成它。否则,您将需要指定的外部动作或观察者/可观察模式# 2 楼答案
考虑扩展^{} :重写^ {< CD2>}和^ {< CD3>},插入零并删除最后一个元素。
附录:这里有一个例子;根据SO,许可证是cc-wiki。我会使用^{} 来保存条目