【发布时间】:2017-07-16 18:58:42
【问题描述】:
我的控制器类中有非常大的事件处理方法。我将它们分别放在一个单独的类中,但现在它们不再被调用了。
这是目前的实现方式:
private DragDetectedHandler dragDetectedHandler = new DragDetectedHandler(stacks, nextCards, gameTable);;
node.setOnDragDetected(dragDetectedHandler);
如果我称它为有效:
node.setOnDragDetected(System.out::println);
(只是为了测试代码是否到达)
以及处理程序类:
public class DragDetectedHandler implements EventHandler<MouseEvent> {
private Stacks stacks;
private NextCards nextCards;
private Table gameTable;
public DragDetectedHandler(Stacks stacks, NextCards nextCards, Table gameTable) {
this.stacks = stacks;
this.nextCards = nextCards;
this.gameTable = gameTable;
}
@Override
public void handle(MouseEvent mouseEvent) {
System.out.println("Handle stuff here :)");
}
}
我可能忽略了一些东西,但类似的问题并没有帮助我得到答案。
所以问题是:我应该如何调用事件处理程序?或者为什么下面的代码没有调用事件处理函数?
node.setOnDragDetected(dragDetectedHandler);
【问题讨论】:
-
您能否编辑您的问题以包括...嗯...一个问题?
-
@JoeC 谢谢,我忘了问这个问题
标签: java events javafx event-handling