java - 如何区分触摸板点击

标签 java mouseevent

我正在用 Java 创建鼠标垫的点击测试。我可以通过以下方式区分左键、右键和中键点击:

if(evt.getButton()==3) // or 1 or 2

我似乎无法区分 2 个左值。

2 lefts

上图中的 2 个左侧分别单击 1 和 2。我试图通过调试和检查事件对象来查看当我单击时是否获得不同的值,但它是相同的。对于键盘,可以通过获取 keyLocation 来区分两个 Ctrl 或 2 shifts,是否可以通过单击执行类似的操作?就像无法获取点击屏幕上的位置但按下了哪个按钮一样。

private void formMouseClicked(java.awt.event.MouseEvent evt) {
    System.out.println(evt.getButton());
    if (evt.getButton() == 3) {
        //3=right
        button1.setBackground(Color.GREEN);
        textField1.setText("Code : Right");
    } else if (evt.getButton() == 2) {
        //middle
        button6.setBackground(Color.GREEN);
        textField1.setText("Code : Middle");
    } else if (evt.getButton() == 1) {
        //1=left
        button5.setBackground(Color.GREEN);
        textField1.setText("Code : Left");
    } else {
        textField1.setText("Code : " + evt.getButton());
    }
}

上面是我迄今为止关于点击的代码。

我进行了很多搜索,但尚未找到有用的信息。

最佳答案

据我所知,没有办法做到这一点。当您单击触控板时,触控板将简单地显示为按下了 mouse1 一样。键盘对于左移/右移等有不同的键码...我不相信“触控板单击”和“鼠标 1”有不同的键码。

无论如何,您为什么要添加只有笔记本电脑用户(并且只有某些笔记本电脑用户)才能使用的功能。那么台式机呢?移动设备呢?

关于java - 如何区分触摸板点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57491637/

相关文章:

java - 以原子方式运行两个操作

java - 如何在新的mapreduce API中设置JobEndNotificationURI?

java - 如何检测Java swing中MouseInput的双击?

javascript - Mousemove 延迟触发 mouseleave 事件

cocoa - NSWindow:通过窗口将鼠标事件传递到下面的任何内容

java - 跟踪触发常见事件的对象

java - Hibernate JPA 与共享主键的一对一映射导致了该问题

Javascript-JQuery : stop action when mouse is up?

javascript - 为什么 Firefox、Chrome、Opera 跟不上鼠标事件?

java - 导入 org.apache.commons.math.stat.StatUtils eclipse 项目