4

我正在使用 ControlsFX 的最新版本(8.0.5),我认为我需要一些关于 AutoComplete TextField 的帮助,因为我对此很陌生。

我从这里得到了这个代码

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

但它显示一个错误:method SuggestionProvider is not applicable.

有什么建议来实现这个自动完成,以便拥有一个像字典这样的数组IDVALUE

4

2 回答 2

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 示例以查看源代码,这将有很大帮助:}

于 2014-03-30T22:01:52.713 回答
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");
    }
});
于 2016-05-17T09:11:31.770 回答