質問です。
javaで、1秒ずつカウントダウンするスレッドを作りたいのですが

public void run(){
try{
while(true){
Thread.sleep(1000);
t = t-1;
time.setText(Integer.toString(t));
}
}
catch(Exception e){}
}

とすると、setTextがある行でスレッドが止まってしまいます(これをコメントアウトすると動く)
tはint型変数、timeはJLabelです
どうして止まってしまうのでしょうか