永发信息网

javafx鼠标事件中有没有能区分左右键点击的?

答案:1  悬赏:30  手机版
解决时间 2021-01-27 18:09
  • 提问者网友:爱了却不能说
  • 2021-01-26 21:15
如题,如果有请附上代码!谢谢!
最佳答案
  • 五星知识达人网友:白昼之月
  • 2021-01-26 22:30
MouseEvent 的getButton()返回一个MouseButton 枚举。
switch 判断一下
MIDDLE
Represents middle (button 2) mouse button.


NONE
Represents no button.


PRIMARY
Represents primary (button 1, usually the left) mouse button.


SECONDARY
Represents seconday (button 3, usually the right) mouse button.
import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.input.*;
import javafx.scene.paint.*;
import javafx.event.*;
import javafx.application.*;

// 右手使用鼠标
public class FXMouseExample extends Application {
  public static void main(String[] args) {
    Application.launch(FXMouseExample.class, args);
  }

  @Override public void start(Stage stage) {
    stage.setTitle("FX Mouse Example");
    Group root = new Group();
    Scene scene = SceneBuilder.create().root(root).width(400).height(300).fill(Color.WHITE)
                                .onMousePressed(new EventHandler<MouseEvent>(){
                                  @Override public void handle(MouseEvent e){
                                    MouseButton button = e.getButton();
                                    switch(button) {
                                      case PRIMARY: System.out.println("Left Button Pressed"); break;
                                      case SECONDARY: System.out.println("Right Button Pressed"); break;
                                      case MIDDLE: System.out.println("Middle Button Pressed"); break;
                                      default:
                                        System.out.println(button);
                                    }
                                  }
                                }).build();
    stage.setScene(scene);
    stage.show();
  }
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯