只拿出一段代码
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之后开启了另一个线程,导致时间越走越快,希望高手能帮我解答下
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之后开启了另一个线程,导致时间越走越快,希望高手能帮我解答下
代码如下:
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]));//不知道为什么我这里打印出来的值为空}
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) {}
}
}