【发布时间】:2011-08-29 09:31:03
【问题描述】:
我在 LinkList 中有一组标签调用“l”,我需要更改这些标签的背景颜色。我需要在每次颜色变化之间放置 2 秒的间隔,所以我尝试使用如下重绘方法,但它没有给我所需的结果。请问有人可以给我解决这个问题吗?
public static void changeColor(LinkedList l,JFrame f){
for (int i = 0; i < l.size(); i++) {
try {
final JLabel xx = (JLabel) l.get(i);
xx.setBackground(Color.red);
f.repaint();
xx.setText("B");
System.out.println(i);
new thread().run();
xx.setBackground(Color.GRAY);
xx.setText("A");
f.repaint();
} catch (Exception ex) {
Logger.getLogger(TestView.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
【问题讨论】:
-
不要在应用程序代码中调用 repaint - 大多数时候,即使这似乎是一个解决方案,但在其他地方存在更深层次的问题
标签: java swing concurrency jlabel