3

所以我有这个锚窗格,我希望在其中为辅助鼠标键添加鼠标侦听器,我尝试了以下操作,但我不断收到错误,有人知道问题是什么吗?

   mainDisplayPanel.addEventHandler(MouseButton.SECONDARY, new EventHandler<MouseButton>() {

                    @Override
                    public void handle(MouseButton event) {
                        System.out.Println("Works");

                    }
                });

为了记录,我也试过这个:

            mainDisplayPanel.addEventHandler(MouseButton.SECONDARY, new EventHandler<MouseEvent>() {

                @Override
                public void handle(MouseEvent event) {
                    System.out.println("WOrks");
                }
            });

堆栈跟踪:

绑定不匹配:Node 类型的泛型方法 addEventHandler(EventType, EventHandler) 不适用于参数(MouseButton, new EventHandler(){})。推断的类型 MouseButton&Event 不是有界参数的有效替代品

和另外一个:

边界不匹配:MouseButton 类型不是 EventHandler 类型的有界参数的有效替代品

4

1 回答 1

5

没有EventType根据MouseButton.SECONDARY。您需要检查MouseEvent自身:

mainDisplayPanel.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {

    @Override
    public void handle(MouseEvent event) {
        if (event.getButton() == MouseButton.SECONDARY) {
           System.out.println("Works");
        }
    }
});
于 2012-12-23T02:53:27.487 回答