【发布时间】:2011-04-03 18:54:23
【问题描述】:
我需要能够检测在我的特定操作期间是否按下了某个键(例如 CTRL)。我无权访问按键侦听器,也无权访问鼠标事件。我希望会有一些类具有像“boolean isKeyPressed(keycode)”这样的方法。
有人知道java中有这样的方法吗?
对于一些背景知识,我正在尝试覆盖组件的默认拖放行为。默认情况下,根据DropTargetDragEvent 的 javadocs,如果没有按下任何键修饰符,那么它会在组件支持的操作列表中查找移动,然后是副本和链接,并在找到第一个后停止。
在我的应用程序中,我们支持复制和链接。根据 javadoc,不按下 CTRL 键,默认操作是复制。我们希望用户能够指定默认操作(允许他们设置最常用的操作),然后使用修饰键强制执行特定操作。
如果我可以检测到按键状态,那么我可以强制它发生,但我看不到任何其他更改默认操作的方法。
提前致谢,布赖恩
【问题讨论】:
-
为什么你不能访问监听器?你不能自己创造吗?您使用的是什么 GUI 框架?
-
Noel - 似乎是我对 Erick Robertson 帖子的评论。