鼠标左右键同时按下的检测问题

QuickKeyBoard 2014-12-12 08:08:31
学Java一周,写个扫雷软件试试新,发现一个问题:在试图用getModifiersEx()检查鼠标左右键同时按下的时候,第一次运行此程序时总是检测不到,一定要按一下鼠标滚轮,然后就能正常了,不知道是不是有什么初始化的工作没有做。还请大神给解释一下。
相关的代码如下。rhel 6.5 + eclipse luna

final int LeftMask = MouseEvent.BUTTON1_DOWN_MASK;
final int RightMask = MouseEvent.BUTTON3_DOWN_MASK;
final int BothMask = MouseEvent.BUTTON1_DOWN_MASK | MouseEvent.BUTTON3_DOWN_MASK;
……

contentPanel.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
if(run==false)
return;
int i, j, mask, r=0;
i=e.getY()/(contentPanel.Size+2);
j=e.getX()/(contentPanel.Size+2);
mask = e.getModifiersEx();
if((mask & BothMask)==BothMask)
r=contentPanel.Both(i, j);
else if((mask & LeftMask)==LeftMask)
r=contentPanel.Left(i, j);
else if((mask & RightMask)==RightMask)
contentPanel.Right(i, j);
……
...全文
136 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧