JAVA中是否可以得到鼠标右击事件的发生对象

hou1104 2007-11-08 12:21:28
如果用MouseEvent类捕获的对象 我发现没有getSource()函数.. 就是不能像ActionEvent类一样可以得到产生事件的对象 但是ActionEvent类中好像又没有能判断到底是按了鼠标左键还是右键的方法 大家帮帮忙
...全文
162 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hou1104 2007-11-08
  • 打赏
  • 举报
回复
不太懂....
两位只是说了判断左右键的问题么...
可是产生事件的对象(比如我鼠标右键点了某个按钮)
如何将这个对象的名字弄出来呢?
myidd00701 2007-11-08
  • 打赏
  • 举报
回复
e.getModifiers()是获得按邮件同时所有模式键的状态
InputEvent.BUTTON3_MASK就是右键的键值了 ~
myidd00701 2007-11-08
  • 打赏
  • 举报
回复
当单击鼠标按键时,生成事件并发送给已注册的 MouseListener。可以使用 InputEvent.getModifiers() 和 InputEvent.getModifiersEx() 方法检索模式键的状态。InputEvent.getModifiers() 所返回的鼠标按键掩码只反映改变了状态的按键,而没有反映所有按键的当前状态。(注:由于 ALT_MASK/BUTTON2_MASK 和 META_MASK/BUTTON3_MASK 的值是重叠的,所以对于涉及组合键的鼠标事件并不总是正确的。
myidd00701 2007-11-08
  • 打赏
  • 举报
回复
if((e.getModifiers()&InputEvent.BUTTON3_MASK)!=0){}
hou1104 2007-11-08
  • 打赏
  • 举报
回复
知道了.... 非常感谢 归根还是我看帮助文件不认真。。。 非常感谢。。。
myidd00701 2007-11-08
  • 打赏
  • 举报
回复
哦~我明白你的意思了~但是MouseEvent 里面是有getSource()的 配合InputEvent.BUTTON3_MASK使用就知道在哪个对象上面点了右键了~~写段代码给你参考下:


import javax.swing.*;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.*;
public class Mouse extends JFrame implements MouseListener{
private JButton aaa;
private JButton bbb;
public Mouse(){
Container contenpane=this.getContentPane();
contenpane.setLayout(new GridLayout(2,1));
aaa=new JButton();
bbb=new JButton();
aaa.addMouseListener(this);
bbb.addMouseListener(this);
contenpane.add(aaa);
contenpane.add(bbb);

}

public void mouseClicked(MouseEvent e) {
if((JButton)e.getSource()==aaa&InputEvent.BUTTON3_MASK!=0)
System.out.println("aaa上点击了右键");
else if((JButton)e.getSource()==bbb&InputEvent.BUTTON3_MASK!=0)
System.out.println("bbb上点击了右键");
}

public void mouseEntered(MouseEvent arg0) {


}

public void mouseExited(MouseEvent arg0) {


}

public void mousePressed(MouseEvent arg0) {


}

public void mouseReleased(MouseEvent arg0) {


}
public static void main(String[] args){
Mouse mouse=new Mouse();
mouse.setSize(100,100);
mouse.setVisible(true);
}
}

62,623

社区成员

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

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