【发布时间】:2011-03-30 23:27:27
【问题描述】:
有没有办法检测在按钮或复选框上的单击事件期间是否按下了 Ctrl 或 Shift?
我想制作一个复选框,您必须按住修改键才能更改状态(带有适当的视觉标签),这样就更难意外点击它。
【问题讨论】:
标签: java user-interface swing keyboard
有没有办法检测在按钮或复选框上的单击事件期间是否按下了 Ctrl 或 Shift?
我想制作一个复选框,您必须按住修改键才能更改状态(带有适当的视觉标签),这样就更难意外点击它。
【问题讨论】:
标签: java user-interface swing keyboard
您需要使用KeyListeners 来挂钩“按键按下”和“按键释放”事件。查看this link 中有关键掩码的信息,以确定是否按下了shift 或ctrl(或任何键)。
【讨论】:
keyPressed 和keyReleased 函数。你的类应该实现KeyListener,这应该迫使你创建这些函数以及keyTyped,听起来你可以忽略。
shift 或 ctrl 时,您将启用它们并在 keyRelease 上禁用它们。您还可以在收到按钮的动作侦听器时检查当前的键掩码,如果未按下按键则撤消它们的动作,但这似乎很尴尬。