用java netbeans 拖出button后添加事件,在其中用Thread.sleep()延时逐个更新组件,为什么总是显示最后结果?因为我想动态绘制一些图像,所以要延时,但总是经过所以延时后最后显示结果,而过程没有变化,已经是个update();repaint(1);……都没反应,求高人指点,谢谢!
例如代码:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
Logger.getLogger(AaaView.class.getName()).log(Level.SEVERE, null, ex);
} jLabel1.setVisible(false);
Thread.sleep(1000);
} catch (InterruptedException ex) {
Logger.getLogger(AaaView.class.getName()).log(Level.SEVERE, null, ex);
}
jLabel1.setVisible(true);
}结果jLabel1总是一只显示,中间的jLabel1.setVisible(false);没效果……
例如代码:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
Logger.getLogger(AaaView.class.getName()).log(Level.SEVERE, null, ex);
} jLabel1.setVisible(false);
Thread.sleep(1000);
} catch (InterruptedException ex) {
Logger.getLogger(AaaView.class.getName()).log(Level.SEVERE, null, ex);
}
jLabel1.setVisible(true);
}结果jLabel1总是一只显示,中间的jLabel1.setVisible(false);没效果……
Thread.sleep(1000);
} catch (InterruptedException ex) {
SwingUtilities.invokeAndWait(new Runnable(){
public void run() {
Logger.getLogger(AaaView.class.getName()).log(Level.SEVERE, null, ex);
}
});
}
之后的都这样改