假设我有以下代码,用于在有人按下按钮 B0 时触发事件: B0.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { //DoSomething } });这工作正常,在大多数情况下更容易,但是当我需要为 20 多个按钮执行此操作时,为每个按钮创建单独的方法变得困难,因此更优选的工作方式将是大量的 if 语句来指示不同类中的事件源(组织目的)。我需要知道的是如何在单独的类(例如下面的代码)中从此调用 EventHandler 并获得有效的返回值,以便程序可以继续。public class Logic{ public final EventHandler<ActionEvent> getOnAction() { return null; }}
1 回答
![?](http://img1.sycdn.imooc.com/545863e80001889e02200220-100-100.jpg)
PIPIONE
TA贡献1829条经验 获得超9个赞
EventHandler<T>是一个interface,为什么不只是implement它?
public class SupaDupaHandler implements EventHandler<ActionEvent> {
@Override
public void handle(ActionEvent event) {
}
}
然后在你的代码中你可以做......
SupaDupaHandler handler = new SupaDupaHandler();
btn.setOnAction(handler);
// And repeat 20 times
或者直接...
btn.setOnAction(new SupaDupaHandler());
根据您的需要
添加回答
举报
0/150
提交
取消