标题:关于类InputEvent类的一些问题
只看楼主
george_vcool
Rank: 2
等 级:新手上路
威 望:3
帖 子:453
专家分:0
注 册:2007-7-23
结帖率:100%
 问题点数:0 回复次数:2 
关于类InputEvent类的一些问题

想问下,ALT_DOWN_MASK和ALT_MASK有什么区别,在应该方面
然后就是其getKeyModifierxText(int)有什么实际些的用途,
然后就是我怎么运用这个类判别按下的键是ctrl+shift一起按的
请教了!!!

搜索更多相关主题的帖子: InputEvent MASK ALT int shift 
2007-08-13 04:00
george_vcool
Rank: 2
等 级:新手上路
威 望:3
帖 子:453
专家分:0
注 册:2007-7-23
得分:0 

怎么没人回哦,教教小弟啊!

2007-08-17 04:53
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 

一个是修饰符常量(ALT_MASK),一个是扩展修饰符常量(ALT_DOWN_MASK),现在推荐使用后者

getModifiersExText
返回描述扩展修改键和鼠标按钮(例如 "Shift"、"Button1" 或 "Ctrl+Shift")的 String。这些字符串的本地化可以通过修改 awt.properties 文件来完成。


getModifiersEx
public int getModifiersEx()返回此事件的扩展修饰符掩码。扩展修饰符表示所有模式键的状态,例如 ALT、CTRL、META 和事件发生后那一刻的鼠标按钮
例如,如果用户在按下 button 1 后又按下 button 2,然后以相同的顺序释放这两个按钮,则会生成以下事件序列:

MOUSE_PRESSED: BUTTON1_DOWN_MASK
MOUSE_PRESSED: BUTTON1_DOWN_MASK | BUTTON2_DOWN_MASK
MOUSE_RELEASED: BUTTON2_DOWN_MASK
MOUSE_CLICKED: BUTTON2_DOWN_MASK
MOUSE_RELEASED:
MOUSE_CLICKED:
建议不使用 == 来比较此方法的返回值,因为在以后会增加新的修饰符。例如,检查 SHIFT 和 BUTTON1 已经按下而 CTRL 未按下的正确方法可以通过以下代码来演示:

int onmask = SHIFT_DOWN_MASK | BUTTON1_DOWN_MASK;
int offmask = CTRL_DOWN_MASK;
if (event.getModifiersEx() & (onmask | offmask) == onmask) {
...
}
即使添加了新的修饰符,上述代码仍然有效。


可惜不是你,陪我到最后
2007-08-17 09:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-162221-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.091355 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved