Hallo Zusammen,
ich möchte gern unter bestimmten Bedingungen den Text eines JLabels blinken lassen - also die ForegroundColor in kurzen Zeitabständen zwischen BackGroundColor und einer anderen Farbe wechseln lassen. Dafür habe ich mir eine kleine Thread-Klasse geschrieben, die das bewerkstelligen soll. Auf meinem 4 GHZ Quadcore funktioniert das auch genauso, wie ich es haben will, aber auf einem System mit 1.6 GHZ Atom, wird das blinken nur sehr verzögert bis gar nicht angezeigt. Die run-Methode des run-Threads sieht wie folgt aus:
das scheint nicht besonders ressourcenschonend zu sein. Kann ich das auch irgendwie anders machen??
liebe Grüße,
Soahc
ich möchte gern unter bestimmten Bedingungen den Text eines JLabels blinken lassen - also die ForegroundColor in kurzen Zeitabständen zwischen BackGroundColor und einer anderen Farbe wechseln lassen. Dafür habe ich mir eine kleine Thread-Klasse geschrieben, die das bewerkstelligen soll. Auf meinem 4 GHZ Quadcore funktioniert das auch genauso, wie ich es haben will, aber auf einem System mit 1.6 GHZ Atom, wird das blinken nur sehr verzögert bis gar nicht angezeigt. Die run-Methode des run-Threads sieht wie folgt aus:
Java:
@Override
public void run() {
long i = 0;
Color foregroundColor = (correct)?Color.GREEN:Color.RED;
Color backgroundColor = Color.WHITE;
while(System.currentTimeMillis()<starttime+2000){
i++;
if ((i%10000000)==0){
Color color = (isForeground)?foregroundColor:backgroundColor;
isForeground = !isForeground;
cLabel.setForeground(color);
}
}
if (correct){
cLabel.setForeground(foregroundColor);
}else{
cLabel.reset();
}
}
das scheint nicht besonders ressourcenschonend zu sein. Kann ich das auch irgendwie anders machen??
liebe Grüße,
Soahc