我正在用 Java 创建鼠标垫的点击测试。我可以通过以下方式区分左键、右键和中键点击:
if(evt.getButton()==3) // or 1 or 2
我似乎无法区分 2 个左值。
上图中的 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/