对于这样一个新手问题,我很抱歉,我试图在两个JText
字段之间设置一个延迟颜色,即:
box1.setBackground(Color.yellow);
box2.setBackground(Color.red);
我试过用:
try {
Thread.sleep(1000);
}catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
然而,当使用此功能时,延迟会立即发生,并且两种颜色仅在延迟后发生变化。提前感谢您为我的情况所发出的任何亮光:))
答案 0 :(得分:1)
box1.setBackground(Color.yellow);
new Thread(new Runnable(){
public void run(){
try{
Thread.sleep(1000);
}catch(InterruptedException ex){
ex.printStackTrace();
}
box2.setBackground(Color.red);
}
}).start();
如果执行Thread.sleep(1000);在主线程上,一旦睡眠终止,页面的渲染就会完成,你会看到两个框都改变它们的颜色。
如果sleep在另一个与主线程不同的线程中运行,mainThread渲染将在新线程启动后立即完成,您可以看到第一个框变换他的颜色。执行睡眠后,box2将改变其颜色。对不起我的英文,我希望你能理解:)