Events JavaFx controlsFX自动完成事件不';行不通
我想处理controlsFX 8.0.5框架的AutoCompletionEvent,但不知怎的,它永远不会被触发?!当没有可用的建议时,应该有一个带有“new…”的条目,当选择此条目时,我想做一些事情。因此,我设置了一个EventHandler 我实现了如下绑定:Events JavaFx controlsFX自动完成事件不';行不通,events,binding,javafx,custom-controls,Events,Binding,Javafx,Custom Controls,我想处理controlsFX 8.0.5框架的AutoCompletionEvent,但不知怎的,它永远不会被触发?!当没有可用的建议时,应该有一个带有“new…”的条目,当选择此条目时,我想做一些事情。因此,我设置了一个EventHandler 我实现了如下绑定: AutoCompletionBinding<String> bind = TextFields.bindAutoCompletion(tf, sr -> { List<String&g
AutoCompletionBinding<String> bind = TextFields.bindAutoCompletion(tf, sr -> {
List<String> shownSuggestions = new ArrayList<String>();
for (Client c : suggestions) {
if (!sr.getUserText().isEmpty()
&& c.toString().toLowerCase().startsWith(sr.getUserText().toLowerCase())) {
shownSuggestions.add(c.toString());
}
if (shownSuggestions.isEmpty()) {
if (sr.getUserText().isEmpty()) {
shownSuggestions.add(NEW_PARTY);
} else {
shownSuggestions.add(sr.getUserText() + NEW_PARTY_WITH_NAME);
}
}
}
return shownSuggestions;
});
autocompletionbind=TextFields.bindsautocompletion(tf,sr->{
List shownSuggestions=new ArrayList();
针对(客户c:建议){
如果(!sr.getUserText().isEmpty())
&&c.toString().toLowerCase().StartWith(sr.getUserText().toLowerCase()){
添加(c.toString());
}
if(shownSuggestions.isEmpty()){
if(sr.getUserText().isEmpty()){
shownSuggestions.add(新党);
}否则{
shownSuggestions.add(sr.getUserText()+带有名称的新参与方);
}
}
}
返回显示建议;
});
这是我的事件处理程序:
bind.setOnAutoCompleted(new EventHandler<AutoCompletionEvent<String>>() {
@Override
public void handle(AutoCompletionEvent<String> event) {
if (event.getCompletion().equals(NEW_PARTY)) {
System.out.println("new party chosen");
} else if (event.getCompletion().endsWith(NEW_PARTY_WITH_NAME)) {
System.out.println("new party with input chosen");
}
event.consume();
}
});
bind.setOnAutoCompleted(新的EventHandler(){
@凌驾
公共无效句柄(自动完成事件){
if(event.getCompletion().equals(NEW_PARTY)){
System.out.println(“选择的新一方”);
}else if(event.getCompletion().endsWith(具有名称的新参与方)){
System.out.println(“选择输入的新方”);
}
event.consume();
}
});
但是控制台上没有输出
有人能帮我吗?我已经试了好几天了
关于controlsFX 8.0.5中存在一个错误,导致事件从未触发。所以代码是正确的,但从未调用过。