我实施了包含一些JFrame
的{{1}}。点击后我想改变它们的外观。附加代码应该这样做。事实上:它不。使用相同的代码并将其放入内部Thread类的运行中可以完成这项工作。内部Thread-instance反转单击的JLable
两次。
有人可以给我一个提示,为什么JLable
- 方法似乎无法影响点击的mouseClicked
外观吗?
JLable
答案 0 :(得分:3)
不需要synchronized
代码块。从事件代码执行的所有代码都将在事件调度线程(EDT)上执行。由于您应该始终更新EDT上组件的属性,因此您不必担心其他线程更新组件。
看起来您想暂时更改标签的颜色。问题是wait()方法将阻止EDT并阻止GUI重新绘制自己。
你可以: