gpt4 book ai didi

java - 为什么组件的绘制会延迟?

转载 作者:行者123 更新时间:2023-12-01 06:40:00 26 4
gpt4 key购买 nike

我想将面板漆成蓝色,然后等待五秒钟,然后做其他事情。
现在我有下面的代码,我希望它能做我想做的事情。这是:

JPanel somePanel = getSomePanel();
somePanel.setBackground(Color.BLUE);
Object lock = new Object();
synchronized (lock) {
try {
lock.wait(5000);
}
catch (InterruptedException exc) { }
}
// Do other stuff

但是,它会等待五秒钟,然后将组件绘制为蓝色。

  • 为什么要先等待,然后涂成蓝色,而不是相反? (我猜这与Swing机制有关......?)
  • 如何“更改该顺序”?

最佳答案

不要在 GUI 事件处理程序中等待 - 它会阻止消息的处理,例如。重画请求。

当您等待锁定时,GUI 不会完成任何操作。

关于java - 为什么组件的绘制会延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14603905/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com