java - 在方法 java 中设置按钮操作

标签 java button javafx eventhandler

我如何在创建按钮的同一方法中设置按钮的操作

我想要的方法是这样的:

private void buttonsCreation() {
        //----------------creation of interactive buttons with text-----------------
        Button buttonForLoad = new Button("Load footage file");
        Button buttonForSave = new Button("Save footage file");
        Button buttonForSaveAs = new Button("Save as footage file");
        ButtonbuttonForRun = new Button("Run footage animation");
        Button buttonForTerminate = new Button("Stop footage animation");
        Button buttonForEditMenu = new Button("Edit current footage");
        //---------------setting the interaction of the buttons---------------------
        buttonForLoad.setOnAction(loadFootage());
        buttonForSave.setOnAction(saveFootage());
        buttonForSaveAs.setOnAction(saveAs());
        buttonForRun.setOnAction(runAnimation());
        buttonForTerminate.setOnAction(terminateAnimatino());
        buttonForEditMenu.setOnAction(editMenu());
    }

我希望 setOnAction 的属性调用这些方法,但收到此错误。 ButonBase中的setOnAction不能应用于void。

我知道我可以创建一个以 ActionEvent 作为参数的 void 句柄并使其工作,但我想要的函数将在一个函数中,并且如果可以尽可能少的代码行.

非常感谢

最佳答案

要在操作处理程序中调用 void 函数,lambda 表达式很有用。像这样:

buttonForLoad.setOnAction(e -> loadFootage());
buttonForSave.setOnAction(e -> saveFootage());
...

关于java - 在方法 java 中设置按钮操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43724002/

相关文章:

java - 使用 HttpsURLConnection 下载 xml.gz 文件

javascript - 我如何构建一个函数来查找 2 个被单击的特定按钮?

javascript - Royalslider JavaScript slider .next()

javafx 在适当的 Controller 类中使用 MainController 或其他 Controller 中的对象

java - 如何用canvas预览当前绘制的对象?

java - 使用 JDK1.6.45 在 Windows 上进行 MongoDB 3.0.0/2/3 Java 驱动程序 Kerberos 身份验证

java - EJB3通信机制

java - Android setRequestProperty 在 url.openConnection()

java - 单击按钮时数字增加

java - 如果设置了 HijrahChronology,DatePicker 的 setDayCellFactory 中的 setDisable() 不起作用