gpt4 book ai didi

java - 从另一个类调用 `setOnAction`

转载 作者:行者123 更新时间:2023-12-01 11:07:39 26 4
gpt4 key购买 nike

通过代码添加JavaFX按钮时,如何从另一个类调用按钮的.setOnAction方法。

例如,如果我要在同一个类中处理按钮按下操作:

public class SomeClass{
Button continueButton = new Button("Continue");
continueButton.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
someMethod();
}
});
}

但是,如果我希望为此使用 Controller ,如何将actionEvent“链接”到另一个类中的方法。
例如:

public class SomeClass{
private SomeClassController controller;
Button continueButton = new Button("Continue");
continueButton.setOnAction(
//Call continuePressed() on controller
);
}

public class SomeClassController{
public void continuePressed(){
someMethod();
}
}

最佳答案

Barbe Rouge 是对的。使用 Java 8 语法的更简单的解决方案是:

public class SomeClass {

private final SomeClassController controller = new SomeClassController();

public SomeClass() {
final Button button = new Button("Click me!");
button.setOnAction(controller::handle);
}

}

public class SomeClassController {
public void handle(ActionEvent event) {
// Do something
}
}

关于java - 从另一个类调用 `setOnAction`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32776970/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com