我的控制器类中有很大的事件处理方法。我把他们每个人放在一个单独的班级,但现在他们不再被调用。通过自定义类在javafx中添加事件处理程序
这是它是如何目前实施:
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谢谢,我忘了实际问这个问题 – Vinagy