如何从 JavaFX 中的不同类调用 EventHandler

假设我有以下代码,用于在有人按下按钮 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;

  }


}


慕容708150
浏览 249回答 1
1回答

PIPIONE

EventHandler<T>是一个interface,为什么不只是implement它?public class SupaDupaHandler implements EventHandler<ActionEvent> {&nbsp; &nbsp; @Override&nbsp; &nbsp; public void handle(ActionEvent event) {&nbsp; &nbsp; }}然后在你的代码中你可以做......SupaDupaHandler handler = new SupaDupaHandler();btn.setOnAction(handler);// And repeat 20 times或者直接...btn.setOnAction(new SupaDupaHandler());根据您的需要
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java