【发布时间】:2017-05-13 06:35:26
【问题描述】:
这是我的代码
boolean boo = true;
ItemListener itemListener = new ItemListener() {
public void itemStateChanged(ItemEvent event) {
boo= false;
aSwingObj.repaint();
boo = true;
}
}
我希望 repaint() 方法在 boo 设置为 false 时运行,在它变为 true 之前。
问题是 repaint() 函数只有在变量 boo 再次设置为 true 后才会执行。我尝试过其他方法,如 revalidate()、validate(),但没有奏效。我应该如何修复我的代码?
【问题讨论】:
-
你有一个设计问题。 itemStateChanged 只是一个事件。在那里它不应该两次改变变量的状态。也许你需要一个计时器。所以你设置状态,绘制组件,然后几秒钟后重置状态?