public void mousePressed(MouseEvent e)        
{
          你想按下的时候的操作          
}
public void mouseReleased(MouseEvent e)         
{
你释放的时候的操作
}

解决方案 »

  1.   

    可是,在mousePressed的函数中如何判断鼠标此时是按下了还是送开了呢?试想如果我连续快速点击一个按钮,那么在消息队列中将产生多个鼠标被按下的事件,于是就会有多个mousePressed函数被执行,也就是说,执行该函数的时候我的鼠标可能早就已经松开了.可是我希望mousePressed函数在执行的时候鼠标是被按下的,于是就需要判断此时鼠标的状态,请问该如何处理呢?
      

  2.   

    再补充一下,我的mousePressed函数中是开启另一线程的操作,而mouseReleased函数中是关闭该线程的操作,所以需要在mousePressed中判断鼠标的状态
      

  3.   

    鼠标不对程序有操作是不可以知道的,win32 api才会知道任何时候的。
      

  4.   

    楼主似乎并没有明白鼠标事件的概念呢,mousePressed就是用来在鼠标安下时引发的动作,如果不被按下就不会引发这个方法的执行,也就无需在判断鼠标是否被按下,因为这个方法一旦被执行就表示鼠标被按下,你只需判断是那个按钮被按下了.mouseReleased也是一样的,如果没有放开鼠标这一动作,它也是不会被执行的.道理都一样.而mouseClicked则是在一个鼠标被按下并释放了这样一个完成的过程执行了后才会执行这个方法.