我在文本框中通过选择组合框分别将文本字段与指定数据绑定。关键是在第一次绑定过程之后,您无法删除效果。我选择绑定登录,这会绑定一个带登录的文本框。然后我想绑定电子邮件,然后我开发两个列表,登录和电子邮件。
@FXML
public void setToSearch() {
if(comboSettingsSearch.getSelectionModel().getSelectedIndex() == 1)
TextFields.bindAutoCompletion(textSearchPerson, Database.loadLogins());
if(comboSettingsSearch.getSelectionModel().getSelectedIndex() == 5)
TextFields.bindAutoCompletion(textSearchPerson, Database.loadEmails());
}
在登录下面,在电子邮件之上。有谁知道如何消除这种影响?
如果你这样做,
@FXML
public void setToSearch() {
if(comboSettingsSearch.getSelectionModel().getSelectedIndex() == 1)
AutoCompletionBinding<String> acbLogin = TextFields.bindAutoCompletion(textSearchPerson, Database.loadLogins());
if(comboSettingsSearch.getSelectionModel().getSelectedIndex() == 5)
AutoCompletionBinding<String> acbEmail = TextFields.bindAutoCompletion(textSearchPerson, Database.loadEmails());
}
你可以配置绑定
acbLogin.dispose();
acbEmail.dispose();
这是对这篇文章的迟到回应,但是,我发现它显然不起作用,因为它没有被检查。它也不适合我,但两周后我发现了原因。
如果您将类型作为声明的一部分包含在内,则上面提出的声明和初始化不起作用。您需要从声明中删除类型,然后.dispose()方法将起作用。
这不起作用:
AutoCompletionBinding<String> acbLogin = TextFields.bindAutoCompletion(textSearchPerson, Database.loadLogins());
这样做:
AutoCompletionBinding acbLogin = TextFields.bindAutoCompletion(textSearchPerson, Database.loadLogins());