我想请问一下 我在mouseClicked事件中使用了线程  为什么在执行的时候那个button好像一直被按下去了 直到线程执行结束啊?
开始执行之前按钮是正常的,然后点击按钮,mouseClicked事件中开始执行线程,执行过程中那个button就好像一直被按着,直到线程执行结束才恢复正常,
我想知道如何让按钮按下松开鼠标后就恢复正常,并执行线程啊?难道要把线程移到mouseReleased事件中?

解决方案 »

  1.   

    no no no
    自己查文档吧 SwingUtilities.invokeLater(Runnable r)
      

  2.   

    耗时任务在一个新线程中执行,例如使用SwingWorker
      

  3.   

    谢谢楼上几位的解答,我刚试了一下,好像问题不是在于线程,我刚才不用线程来测试了一下 还是会出现按钮一直被按下的状态,
    我在按下Button这个事件中执行的函数使用了robot,而且函数体中有Tread.sleep(),请问问题是在这里面么
      

  4.   

    你在新线程中sleep一小段时间试试或者在你将要执行新线程前repaint一下;
      

  5.   

    sleep睡眠一段时间,应该就可以了