2014-03-30 26 views
4

我正在使用ControlsFX的最新版本(8.0.5),我认为我需要一点帮助,因为我在这方面很新颖。如何使用ControlsFX实现自动完成TextField

我从here

AutoCompletionTextFieldBinding.createBinding(
MyTxtField, 
SuggestionProvider.create("Hey", "Hello", "Hello World", "Apple", "Cool", "Costa", "Cola", "Coca Cola") 
); 

这个代码,但它显示一个错误:method SuggestionProvider is not applicable.

任何意见落实才能有像IDVALUE字典数组中此自动完成?

回答

7

如果检查成绩单到您所引述的代码 https://bitbucket.org/controlsfx/controlsfx/pull-request/196/auto-complete-support-see-127/diff(早期2月) 和日期controlsfx 8.05的发布日期3月4日http://fxexperience.com/controlsfx/,可能的解释是,该代码很可能不工作,因为你所引述的是什么只是实验性API,尚未完成。最终版本是一个目前正处于最后的8.05 工作作为

TextFields.bindAutoCompletion(
      textField, 
      "Hey", "Hello", "Hello World", "Apple", "Cool", "Costa", "Cola", "Coca Cola"); 

等API,你可以检查使用自动完成从IDE

我建议检查出controlfx 8.05样品来看看源代码而这将有很大的帮助:}

2

现在,您可以使用AutoCompletionTextFieldBinding如下所示:

TextField textField = new TextField(); 
new AutoCompletionTextFieldBinding(textField, new Callback<AutoCompletionBinding.ISuggestionRequest, Collection>() { 
    @Override 
    public Collection call(AutoCompletionBinding.ISuggestionRequest param) { 
     return Arrays.asList("Option 1", "Option 2"); 
    } 
});