计时器在 GWT 中不起作用,
Timer is not working in GWT,
当执行在我这边完成时,我正在重定向其他网页。我想向我的用户显示我们 "redirecting in %d seconds" 的消息,因为我使用了计时器 class,但它仍在立即重定向。
代码如下。
public void redirect(){
hanldeWait() ;
Window.Location.assign(Url) ;
}
private void hanldeWait(){
Timer timer = new Timer() {
int i = 5 ;
public void run() {
if(i < 0){
errorMessage.setVisible(false);
cancel() ;
}else{
i-- ;
String redirectionMessage = "Redirecting in %d seconds" ;
String displayMessage = redirectionMessage ;
displayMessage = format(redirectionMessage, (Integer)i) ;
errorMessage.setText(displayMessage);
errorMessage.setVisible(true);
}
}
};
timer.scheduleRepeating(5000) ;
}
如果我在这里做错了。
您的代码告诉浏览器立即重定向,没有延迟。
如果你想在延迟后重定向,那么
Window.Location.assign(Url) ;
应该在内部调用定时器的run
方法。
当执行在我这边完成时,我正在重定向其他网页。我想向我的用户显示我们 "redirecting in %d seconds" 的消息,因为我使用了计时器 class,但它仍在立即重定向。
代码如下。
public void redirect(){
hanldeWait() ;
Window.Location.assign(Url) ;
}
private void hanldeWait(){
Timer timer = new Timer() {
int i = 5 ;
public void run() {
if(i < 0){
errorMessage.setVisible(false);
cancel() ;
}else{
i-- ;
String redirectionMessage = "Redirecting in %d seconds" ;
String displayMessage = redirectionMessage ;
displayMessage = format(redirectionMessage, (Integer)i) ;
errorMessage.setText(displayMessage);
errorMessage.setVisible(true);
}
}
};
timer.scheduleRepeating(5000) ;
}
如果我在这里做错了。
您的代码告诉浏览器立即重定向,没有延迟。
如果你想在延迟后重定向,那么
Window.Location.assign(Url) ;
应该在内部调用定时器的run
方法。