只拿出一段代码
public void actionPerformed(ActionEvent e) {
show(line,list);//展开

new TimerThread().start();




}
class TimerThread extends Thread{

public void run() {
while(flag==true){
try {
Thread.sleep(1000);

} catch (InterruptedException e) {
e.printStackTrace();
}
synchronized(this){
betweenTime++;
wm.getJtf2().setText(WindowSize.formateNum(Integer.parseInt(wm.getJtf2().getText())+1));
if(betweenTime>999){
flag = false;
}
}
}

}
是不是因为我点击第二个button之后开启了另一个线程,导致时间越走越快,希望高手能帮我解答下

解决方案 »

  1.   

    我没上培训课,依次把雷炸了做好了,就是把雷由近及远炸了做不好,我也将雷的位置用键值容器给记录下来了,可是遇到了以下这个问题,拿到那个键,就是得不到那个值
    代码如下:
             Iterator<Integer>itr ;
                       IdentityHashMap<Integer,Integer> tmp2 = new IdentityHashMap<Integer,Integer>();
                       int []temp = new int[10];
                      {......tmp2.put();}
                       itr = tmp2.keySet().iterator();
    while(itr.hasNext()){
    Object sos = itr.next();
    value = tmp2.get(sos);
    System.out.println("sos"+sos+"value"+value);
    sos1 = sos.hashCode();
    arr.add(sos1);
    }
    for(int i=0;i<arr.size();i++){
    temp[i] = arr.get(i);}
    int temp2;
    for(int i=0;i<temp.length;i++){
    for(int j=0;j<temp.length-i-1;j++){
    if(temp[j]>temp[j+1]){
    temp2 = temp[j+1];
    temp[j+1] = temp[j];
    temp[j] = temp2;
    }
    }
    }
    for(int i=0;i<temp.length;i++){
    System.out.println("temp[i]"+temp[i]);//这里是有值的
    System.out.println("value1"+tmp2.get(temp[i]));//不知道为什么我这里打印出来的值为空}
      

  2.   

    我是按距离的由近到远将键排列了下,按理说拿到键,可以得到该键的值,可是我打印出来的都是null
      

  3.   

    import sun.audio.*;
    import java.io.*;public class Sound
    {
    public static void main(String args[])
    {
    try {
    FileInputStream fileau=newFileInputStream("D:\\Javawork\\Study\\bin\\csdn\\sounds\\Sleep.wav");
    AudioStream as=new AudioStream(fileau);
    AudioPlayer.player.start(as);
    }
    catch (Exception e) {}
    }
    }