我想在界面的多个按钮上创建相同的动作。仅通过创建单独的动作侦听器方法并调用执行动作的方法或是否有其他方法,是否可行?可以通过将按钮分组并执行以下操作来实现吗?



groupButton.setOnMousePressed(new EventHandler<MouseEvent>(){ public void handle(MouseEvent event){ //some other method called } }

最佳答案

(您应该真正使用setOnAction(...)而不是setOnMousePressed()来处理按钮的按下操作,但我将回答所提出的问题。)

只需创建处理程序并将其分配给变量即可:

EventHandler<MouseEvent> handler = new EventHandler<MouseEvent>() {
    @Override
    public void handle(MouseEvent event) {
        // handle event...
    }
};

groupButton.setOnMousePressed(handler);
someOtherButton.setOnMousePressed(handler);

10-08 16:13