我打算编写控制 JLabel 闪烁三次的 Java 代码,然后在第三次闪烁后使其中的文本保持透明/“消失”。
正如下面的代码所示,我已经能够编写一个持续闪烁的 JLabel,但想创建一个只闪烁 3 次的 JLabel,然后使其中的文本保持透明。
public class BlinkLabel extends JLabel {
private static final long serialVersionUID = 1L;
private static final int BLINKING_RATE = 1000; // in ms
private boolean blinkingOn = true;
public Timer timer;
public BlinkLabel(String text) {
super(text);
timer = new Timer( BLINKING_RATE , new TimerListenerTwo());
timer.setInitialDelay(0);
timer.start();
}
public void setBlinking(boolean flag) {
this.blinkingOn = flag;
}
public boolean getBlinking(boolean flag) {
return this.blinkingOn;
}
public class TimerListenerTwo implements ActionListener{
int counter = 1;
public TimerListenerTwo() {
}
public void actionPerformed(ActionEvent evt){
if(counter == 3){//3 = YOUR MAX
timer.stop();
}
counter++;
}
}
}
我将上述函数调用如下:
BlinkLabel label = new BlinkLabel("");
label.setText("Blink blink");
如何编辑上面的代码以使 JLabel 闪烁三次并使文本消失。
非常感谢任何想法/建议。