package junit.swingui; | |
import java.awt.Color; | |
import javax.swing.JProgressBar; | |
/** | |
* A progress bar showing the green/red status | |
*/ | |
class ProgressBar extends JProgressBar { | |
boolean fError= false; | |
public ProgressBar() { | |
super(); | |
setForeground(getStatusColor()); | |
} | |
private Color getStatusColor() { | |
if (fError) | |
return Color.red; | |
return Color.green; | |
} | |
public void reset() { | |
fError= false; | |
setForeground(getStatusColor()); | |
setValue(0); | |
} | |
public void start(int total) { | |
setMaximum(total); | |
reset(); | |
} | |
public void step(int value, boolean successful) { | |
setValue(value); | |
if (!fError && !successful) { | |
fError= true; | |
setForeground(getStatusColor()); | |
} | |
} | |
} |