1

KeyStroke 是否有鼠标等效类?我正在寻找某种围绕 a MouseEvent 的包装器来描述按下了哪个按钮(我可以通过 SwingUtilities 得到它),以及使用的任何修饰符。我的想法是我已经通过侦听器捕获 AWT 鼠标事件,然后获取该事件并处理它以在虚拟世界中进行 3D 拾取。我想尝试以这种方式映射鼠标绑定(类似于带有摆动控件的 InputMap 和 ActionMap)。KeyStroke 是天赐之物,有人知道 MouseStroke 或类似的吗?

4

1 回答 1

4

“鼠标”传统上被定义为最多具有三个按钮。这也是 Java 所支持的MouseEvent.getButton()

具有多个按钮的更高级鼠标通常安装为多个 HID 设备。这意味着他们为鼠标和键盘安装了两个驱动程序。对于这些鼠标,您可以设置其他按钮的含义,通常类似于按键(例如,shift)或双击。这些是 Java 可以捕获的事件,或者作为 KeyEvent 的 MouseEvent。

驱动程序中实现了更高级的功能,例如“打开应用程序”或“更改 DPI”。由于特定于设备,Java 无法捕获这些事件(如果驱动程序支持,您必须为这些事件编写自己的本机侦听器)。

于 2012-05-08T14:25:12.033 回答