String move=jTextField1.getText();
i=Integer.parseInt(move);
timer = new Timer(1000,new ActionListener(){
public void actionPerformed(ActionEvent e)
{
i--;
if(i<=0)
{
if(move.equals("0"))
{
Thread th=new Thread(new DetectImage());
th.start();
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run() {
new TrafficMainGUI(storeValue);
}
});
}
timer.stop();
}
}
jTextField1.setText(""+i);
}
});
timer.start();
move=""+i;
//Thread th in DetectImage class
public void run()
{
while(stay<20)
{
try {
stay++;
//few contions
Thread.sleep(1000);
}
}
}
// EveryThing可以正常使用线程,但是当我使用SwingUtiities.invokeLater()时 调用这个代码所在的同一个类来获得无限条件。 这不会将它重定向到TrafficMainGUI类。还有一些其他方法可以实现这种模型。
答案 0 :(得分:3)
jTextField1.setText(""+i)
;必须通过invokeLater
util.Timer
使用Swing Timer代替
if(move.equals("0")) {
是关于动画,然后独占使用Swing Timer