E' un po' rozzo...ma funziona....
Codice:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.TimerTask;
import java.util.Timer;
public class BlinkTextField extends JTextField {
private final Timer timer = new Timer();
private Color oldColor;
private Color saveColor;
public BlinkTextField() {
oldColor = Color.WHITE;
startBlink();
}
public void startBlink() {
SwingTimerTask updatePanTask = new SwingTimerTask() {
public void doRun() {
blink();
repaint();
}
};
int tempoDiBlink = 500; // In millisecondi
timer.schedule(updatePanTask, 0,tempoDiBlink);
}
public void blink() {
saveColor = this.getForeground();
this.setForeground(oldColor);
oldColor = saveColor;
}
}
Codice:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.TimerTask;
import java.util.Timer;
public abstract class SwingTimerTask extends java.util.TimerTask {
public abstract void doRun();
public void run() {
if (!EventQueue.isDispatchThread()) {
EventQueue.invokeLater(this);
} else {
doRun();
}
}
}