大家好,初学swing有书上的例子不懂,求解:
使用BUTTON3_DOWN_MASK检测鼠标右键的状态
[code="java"]
if((event.getModifiersEx()&InputEvent.BUTTON3_DOWN_MASK)!=0)
...//code for right click
[/code]
第一个方法比如返回一个0101,第二个参数等于0100,那么他们进行&运算以后,结果是0100,也就是!=0,但是他们的值却不同,代表的就不是一个键吧?那这里是怎么考虑的呢?
在这里如果是改成event.getModifiersEx()==InputEvent.BUTTON3_DOWN_MASK来判断按下的是否是右键,我就能理解,API里写最好写成上面那种方式,理解不了。
给你举个例 7&13 首先把两个数转换成2进制数 分别为 0111 1101
之后 按位进行与运算 那么结果为 0101 转换成十进制数 则为5 ,你可以参考这个和你上面的对比.