问题是这样的,
用了JFreeChart 作图,显示在界面上。当按了某个按钮后,更新那张图。
但是由于线较多,重画时间较长, 所以连续按那个按钮会类似死循环一样,然后outofmemory。现在用户想改成,如果按钮再被按时,上次还没重画好的就结束掉。再做新的一次重画。但是请问怎么中止上一次ChartPanel的重画(paintComponent)呢?

解决方案 »

  1.   

    设置一个标识位,你不需要那个线程的时候改变这个标识位,终止那个线程的 run 方法。
      

  2.   

    swing不是线程安全的,在另外一个线程里操作swing控件可以吗?
      

  3.   

    据说直接终止很危险 一般的线程都是放在while循环里 循环条件设为标志位 一旦标志位为FALSE就停止循环 线程也就退出了 你这情况应该不是放在while里的 所以更麻烦 要不做一步判断一下?