我希望我的Java程序每1000毫秒更改标签的颜色,但是到目前为止,更改字母的颜色和定时间隔都无效。
public class Swing extends javax.swing.JFrame {
Counter counter;
class Counter extends Thread {
public void run() {
while (true) {
if (jLabel2.getForeground() == Color.blue) {
jLabel2.setForeground(Color.red);
} else {
jLabel2.setForeground(Color.blue);
}
try {
sleep(1000);
} catch (InterruptedException ex) {
Logger.getLogger(Swing.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
public Swing() {
initComponents();
jLabel2.setForeground(Color.Blue);
counter = new Counter();
jLabel2.setText("Java is cool");
}
private void initComponents() {
jLabel2 = new javax.swing.JLabel();
jSlider2 = new javax.swing.JSlider();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
}
}
我希望程序显示一个名为“ Java is cool”的标签,该标签每1000毫秒更改一次颜色,但是,当我启动该程序时,它根本不会间隔更改标签颜色,而只是冻结在原地。
我还使用Java Swing设计视图,因此大多数声明不在此处。