我如何在创建按钮的同一方法中设置按钮的操作?
我想要的方法是这样的:
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/