如何将此代码重写为事件处理程序

时间:2015-08-13 07:23:38

标签: javafx

大家好我如何在不使用箭头的情况下将其更改为事件处理程序,因为我不明白它的含义

  btn.setOnAction(event -> {if (btn.getText().equals(current.getCorrectAnswer()))
    {System.out.println("correctAnswer");
    } else {System.out.println("wrongAnswer");
    }

1 个答案:

答案 0 :(得分:0)

你有什么lambda表达式。更好地了解它是什么而不是重写它。

文档:Lambda Expressions

如果你的开发环境是e(fx)clipse,你可以把光标放在“ - >”上,按ctrl + 1并选择“转换为匿名类创建”,然后这个

btn.setOnAction(event -> {
    if (btn.getText().equals(current.getCorrectAnswer())) {
        System.out.println("correctAnswer");
    } 
    else {
        System.out.println("wrongAnswer");
    }
});

变成这个

btn.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent event) {
        if (btn.getText().equals(current.getCorrectAnswer())) {
            System.out.println("correctAnswer");
        } 
        else {
            System.out.println("wrongAnswer");
        }
    }
});