我使用的是ControlsFX的最新版本(8.0.5),我想我需要一些自动完成TextField的帮助,因为我对此非常陌生。
我从here
获得了此代码AutoCompletionTextFieldBinding.createBinding(
MyTxtField,
SuggestionProvider.create("Hey", "Hello", "Hello World", "Apple", "Cool", "Costa", "Cola", "Coca Cola")
);
但它显示错误:method SuggestionProvider is not applicable.
有关实施此自动填充功能的任何建议,以便拥有类似于ID
和VALUE
字典的数组吗?
答案 0 :(得分:7)
如果您检查了您引用代码的副本 https://bitbucket.org/controlsfx/controlsfx/pull-request/196/auto-complete-support-see-127/diff(早期的feb) controlfx 8.05的发布日期是3月4日http://fxexperience.com/controlsfx/,可能的解释是该代码可能无法正常工作,因为您所引用的只是实验性API,尚未最终确定。最终版本是目前正在最终版本8.05中使用的版本 如在
TextFields.bindAutoCompletion(
textField,
"Hey", "Hello", "Hello World", "Apple", "Cool", "Costa", "Cola", "Coca Cola");
以及您可以使用IDE中的自动完成功能检查的其他API
我建议查看controlfx 8.05示例以查看源代码,这将有很大帮助:}
答案 1 :(得分: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");
}
});