我的控制器類中有很大的事件處理方法。我把他們每個人放在一個單獨的班級,但現在他們不再被調用。通過自定義類在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