Java 如何禁用按钮直到某些文本字段被填充?

Java 如何禁用按钮直到某些文本字段被填充?,java,javafx,Java,Javafx,使用JavaFX8,我有两个文本字段和一个按钮进行验证。我希望在两个字段都具有有效值之前禁用此按钮 最好的方法是什么 谢谢,这个问题有几个答案。我只发布简单的答案。只需在按钮操作侦听器中添加一个布尔值和一个if-else语句。如果满足条件,则运行按钮。否则什么也不做。您还可以根据是否满足此条件设置背景色。为了更好地显示按钮已禁用 btn.setOnAction(new EventHandler<ActionEvent>() { @Override public vo

使用JavaFX8,我有两个文本字段和一个按钮进行验证。我希望在两个字段都具有有效值之前禁用此按钮

最好的方法是什么


谢谢,这个问题有几个答案。我只发布简单的答案。只需在按钮操作侦听器中添加一个布尔值和一个if-else语句。如果满足条件,则运行按钮。否则什么也不做。您还可以根据是否满足此条件设置背景色。为了更好地显示按钮已禁用

btn.setOnAction(new EventHandler<ActionEvent>() {

    @Override
    public void handle(ActionEvent event) {
        if(true){ // your boolean operator 
           System.out.println("do something"); // Your button statement 
        }
    }
}); 
btn.setOnAction(新的EventHandler(){
@凌驾
公共无效句柄(ActionEvent事件){
if(true){//您的布尔运算符
System.out.println(“做点什么”);//您的按钮语句
}
}
}); 
使用

给定

TextField textField1  ;
TextField textField2  ;
你能行

BooleanBinding textField1Valid = Bindings.createBooleanBinding(() -> {
    // check textField1.getText() and return true/false as appropriate
}, textField1.textProperty());

BooleanBinding textField2Valid = Bindings.createBooleanBinding(() -> {
    // check textField2.getText() and return true/false as appropriate
}, textField2.textProperty());
然后

Button button = new Button("OK");
button.disableProperty().bind(textField1Valid.not().or(textField2Valid.not()));

请添加您的代码。请检查此解决方案,这正是我想要的,谢谢。最简单的答案,但与问题不匹配,即禁用按钮,直到两个文本字段都有效@詹姆斯的答案更准确!无论如何,谢谢你:)