私は、JLabel を 3 回点滅させ、3 回目の点滅後にその中のテキストを透明のままにして「消える」ように制御する 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 が 3 回点滅し、テキストが消えるようにするにはどうすればよいですか。
どんなアイデア/提案も大歓迎です。