我们需要一个自动完成组件来摆动,jdesktop / SwingX中的问题就是我们必须使用一个组合框,并且在每个按键之后它只是向下滚动到最近的匹配但是组合仍然保持25.000个元素。它不会显示最接近匹配的4或5,因为它们可以位于列表的不同位置。我们不希望显示25000的列表......
是否有类似于JSF自动填充或谷歌主页中的那个?我们需要的是一个组件,它会询问我们的界面
public List getOptions(String typedSoFar){ //这里我们根据我们的标准返回5个匹配的,并简单地为//用户提供这五个 }
答案 0 :(得分:5)
答案 1 :(得分:1)
GlazedList不是很好,SwingX也支持自动完成并且比“GlazedList”更容易。 你只写:
AutoCompleteDecorator.decorate(yourComboBox);
答案 2 :(得分:0)
swingX是最好的答案。
AutoCompleteDecorator.decorate(textComplete, strings, true);
其中textComplete
是文本框,strings
是带有建议字典的jList,最后一个值是是否将文本字段的内容限制为字典。
答案 3 :(得分:-2)
我没有使用过SwingX,对它们的实现一无所知。最好的想法可能是扩展SwingX Autocomplete类。而不是直接使用Autocomplete类,创建一个专有类extendig自动完成类并覆盖getOptions()方法:
class OurOwnAutocomplete extending swingx.*.*.autocomplete {
private List getOptions(String typedSoFar) { //
// logic
}