mouseReleased方法被重复调用的问题

zc850463390zc 2012-10-13 07:14:36

在一个程序中,给JLabel增加一个mouseReleased方法。
public void mouseReleased(MouseEvent a)
{
System.out.println("x");
new PicDialog(father,StaticClass.workspacepath+"\\WorkSpace\\Stress.png");
}
就是创建一个显示图片的JDialog。但是每次都会弹出两个窗口。输出两个xx。
注意:随便点击多少次,反正每次点击,这个方法都会被调用两次。
求大神解释下原因以及解决方法。。
...全文
223 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
LogicTeamLeader 2012-10-15
  • 打赏
  • 举报
回复
good!
[Quote=引用 3 楼 的回复:]
问题我自己解决了。。。还是把分给你吧

引用 1 楼 的回复:
你的鼠标坏了,这是最有可能的。


引用楼主 的回复:
C/C++ code


在一个程序中,给JLabel增加一个mouseReleased方法。
public void mouseReleased(MouseEvent a)
{
System.out.println("x");
new PicDial……
[/Quote]
zc850463390zc 2012-10-14
  • 打赏
  • 举报
回复
问题我自己解决了。。。还是把分给你吧[Quote=引用 1 楼 的回复:]
你的鼠标坏了,这是最有可能的。


引用楼主 的回复:
C/C++ code


在一个程序中,给JLabel增加一个mouseReleased方法。
public void mouseReleased(MouseEvent a)
{
System.out.println("x");
new PicDialog(father,StaticClass.workspacepath……
[/Quote]
zc850463390zc 2012-10-14
  • 打赏
  • 举报
回复
我在PicDialog里面的设置是:
this.setModal(true).
在这个窗口没关闭之前。整个程序是被阻塞了的。
所以无论点击多少次,都没有影响。。
所以,应该不是鼠标的问题。
在网上看到一次帖子,说在mouseReleased()执行之后
会有2种情况的跳跃。一种跳到了Component.class下的processMouseEvent方法,另一种跳到了AWTEventMulticaster.class下的mouseReleased方法,其中第二种方法会导致mousereleased这个事件被重复调用
但是不知道解决办法
[Quote=引用 1 楼 的回复:]
你的鼠标坏了,这是最有可能的。


引用楼主 的回复:
C/C++ code


在一个程序中,给JLabel增加一个mouseReleased方法。
public void mouseReleased(MouseEvent a)
{
System.out.println("x");
new PicDialog(father,StaticClass.workspacepath……
[/Quote]
LogicTeamLeader 2012-10-13
  • 打赏
  • 举报
回复
你的鼠标坏了,这是最有可能的。

[Quote=引用楼主 的回复:]
C/C++ code


在一个程序中,给JLabel增加一个mouseReleased方法。
public void mouseReleased(MouseEvent a)
{
System.out.println("x");
new PicDialog(father,StaticClass.workspacepath+"\\WorkSpace\\Stress.pn……
[/Quote]

62,621

社区成员

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

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