我是新手,还请多多指点,具体如下已经有两个方法:
第1个方法(多线程类):循环自动向下递归遍历int[i],并输出对应的list.get(i),其中list中的值是一直更新的;【已在运行中】
第2个方法(单线程类):输出int[j-1]对应的list.get(j-1)值只一次。需要一个按钮实现如下功能:
第1次按下:暂停线程1,输出一次语句2,延迟300秒,恢复线程1。【线程1延迟状态下按钮还是可以再次按下的,如下:】第2次按下:情况1:距离上次按下超过300秒,同第1次的效果。
                    情况2:距离上次按下不到300秒,输出一次语句2,并将线程1的剩余延迟时间重置为300秒,延迟后恢复线程1。
           
第3次按下:同第2次效果。以此类推……ps:线程1有写好的方法.setSuspend(true);或者.setSuspend(false);来控制暂停和继续。

解决方案 »

  1.   


    谢谢你哟,真是麻烦了//按钮监听
    before.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    /**
     * 需要要在这里实现按钮的功能
     * 可能会需要到  si=CONSTANT.BB,这个CONSTANT.BB是全局变量,可以修改
     * 按钮每按一次,传递给方法2的si就需要递减一次
     * 这个按钮其实类似于往前翻页的功能
     */

    }
      });
     
    /**
     * 这里是线程1的暂停和继续的方法。
     * 这个线程的作用是在一直获取最新List,并且把List中最后四个值进行自动输出,按下按钮后就要延迟300秒的自动输出
     * 300秒时间到了以后,恢复线程以后,恢复自动输出,依然是输出最新的List中的最新的四个值
     * List里的值一直在变,线程暂停时会自动保存当前最新的List.size()的值到CONSTANT.BB
     */
      public void suspendRepaintX(){
    repaintX.setSuspend(true);
    }
    public void proceedRepaintX(){
    repaintX.setSuspend(false);
    }





    //这是方法2的类
    class repaintimage{
    public void startManual(int si) {
      /**
       * 这里是方法2的执行代码,略长省略
       * si是给int[j-1]中的变量j传递值,从而获取List里对应序列的值
       * 然后完成一次输出处理
       */
    }
    }