event是MouseEvent类的实例;getModifiersEx方法能准确报告鼠标事件的鼠标按钮和键盘修饰符;
例如,可用下列代码检测鼠标右键是否被按下:if((event.getModifiersEx()&InputEvent.BUTTON3_DOWN_MASK)!=0)
...//
请问一下这个怎么比的?如果按下的是右键的话,event.getModifiersEx()和InputEvent.BUTTON3_DOWN_MASK的
值应该是相等的,两者&一下的值也相等,为什么要用&运算符啊?为什么最终结果要和0比?
不懂,等解答,感谢
例如,可用下列代码检测鼠标右键是否被按下:if((event.getModifiersEx()&InputEvent.BUTTON3_DOWN_MASK)!=0)
...//
请问一下这个怎么比的?如果按下的是右键的话,event.getModifiersEx()和InputEvent.BUTTON3_DOWN_MASK的
值应该是相等的,两者&一下的值也相等,为什么要用&运算符啊?为什么最终结果要和0比?
不懂,等解答,感谢
解决方案 »
- J2se的client端怎么和tomcat通信,或者其他的远程服务端
- Java如何打开.exe文件
- 第一个程序写了个有while嵌套的,老是运行不对
- compareTo方法如何调用其方法实现类Student进行比较的
- 新手用java连数据库 连上了,但不执行哪位大哥帮忙分析一下
- 如何读取SQL SERVER里最新的5条数据
- 关于线程的问题!急等!
- java里面有SqlParameter这个对象吗?
- 各位给个意见
- jcreator提示我这样的错误,一个简单的java小程序.........?????
- Eclipse3.6运行Servlet问题
- ScheduledExecutorService 定时查询
event.getModifiersEx()
返回此事件的扩展修饰符掩码。扩展修饰符表示所有模式键的状态,
比如是通过一个字节8位来控制模式状态。
10000000表示按下ctrl
01000000表示按下alt
而
000000001就表示按下BUTTON3_DOWN_MASK。
而BUTTON3_DOWN_MASK常量表示的字节就是00000001
所以当用&位运算的时候只有00000001&00000001的条件才表示点击了右键。条件等于1才能成立。