1. package junit.swingui;
  2. import java.awt.Color;
  3. import javax.swing.JProgressBar;
  4. /**
  5. * A progress bar showing the green/red status
  6. */
  7. class ProgressBar extends JProgressBar {
  8. boolean fError= false;
  9. public ProgressBar() {
  10. super();
  11. setForeground(getStatusColor());
  12. }
  13. private Color getStatusColor() {
  14. if (fError)
  15. return Color.red;
  16. return Color.green;
  17. }
  18. public void reset() {
  19. fError= false;
  20. setForeground(getStatusColor());
  21. setValue(0);
  22. }
  23. public void start(int total) {
  24. setMaximum(total);
  25. reset();
  26. }
  27. public void step(int value, boolean successful) {
  28. setValue(value);
  29. if (!fError && !successful) {
  30. fError= true;
  31. setForeground(getStatusColor());
  32. }
  33. }
  34. }