通过按钮捕获键+鼠标事件JavaFx

Jua*_*uan 0 java javafx event-handling

我已经实现了这个框架代码,用于执行不同的操作,具体取决于您单击的鼠标按钮以及按钮上的单击次数.

Button button = new Button("Action!");
button.setOnMouseClicked(new EventHandler<MouseEvent>(){
@Override
public void handle(MouseEvent event){ 
    if(event.getButton().equals(MouseButton.PRIMARY)){
        if(event.getClickCount() == 2){
            System.out.println("Double click");
        }else if(event.getClickCount() == 1){
            System.out.println("Single click");
        }else{
            System.out.println("SUPER click");
        }
    }else{
        System.out.println("Secondary click");
    }
}              
});
Run Code Online (Sandbox Code Playgroud)

我想捕获一个键(例如Ctrl)+鼠标单击事件,因此如果用户在按下键时单击该按钮,我可以捕获鼠标事件处理程序内的键事件,以便扩展可能的操作.我怎么能这样做?

gri*_*Flo 7

你可以用:

if(event.isControlDown()){...}
Run Code Online (Sandbox Code Playgroud)

对于ctrl.有更多的方法(Alt,shift,...)