我无法禁用我的按钮。 “接受” =按钮,“电子邮件” = textField。
email.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event)
{
if(email.getText().isEmpty() == false)
{
accept.setDisable(false);
}else accept.setDisable(true);
}
});
如果我在textField中写的话那没什么。
答案 0 :(得分:4)
按照Zephyr的回答,您可以将其直接绑定到您的按钮内:
button1.disableProperty().bind(Bindings.isEmpty(textField1.textProperty()));
或者如果您想在多个文本字段为空时禁用按钮:
button1.disableProperty().bind(
Bindings.isEmpty(textField1.textProperty())
.or(Bindings.isEmpty(textField2.textProperty()))
.or(Bindings.isEmpty(textField3.textProperty()))
);
答案 1 :(得分:1)
您可以使用绑定到BooleanBinding
的{{1}}的简单Button
。只需两行代码即可完成此操作:
disabledProperty
您可以使用下面的MCVE进行查看:
BooleanBinding isTextFieldEmpty = Bindings.isEmpty(textField.textProperty());
button.disableProperty().bind(isTextFieldEmpty);
答案 2 :(得分:1)
按照 miKel 的回答,您可以定义按钮的disable
属性,而无需导入Bindings
类:
button1.disableProperty().bind(
textField1.textProperty().isEmpty()
.or(textField2.textProperty().isEmpty())
.or(textField3.textProperty().isEmpty())
);