158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabotpackage junit.swingui; 258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabotimport java.awt.Color; 458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabotimport javax.swing.JProgressBar; 658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot/** 858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot * A progress bar showing the green/red status 958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot */ 1058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabotclass ProgressBar extends JProgressBar { 1158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot boolean fError= false; 1258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 1358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot public ProgressBar() { 1458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot super(); 1558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot setForeground(getStatusColor()); 1658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot } 1758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 1858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot protected Color getStatusColor() { 1958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot if (fError) 2058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot return Color.red; 2158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot return Color.green; 2258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot } 2358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 2458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot public void reset() { 2558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot fError= false; 2658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot updateBarColor(); 2758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot setValue(0); 2858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot } 2958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 3058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot public void start(int total) { 3158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot setMaximum(total); 3258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot reset(); 3358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot } 3458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 3558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot public void step(int value, boolean successful) { 3658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot setValue(value); 3758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot if (!fError && !successful) { 3858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot fError= true; 3958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot updateBarColor(); 4058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot } 4158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot } 4258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 4358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot protected void updateBarColor() { 4458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot setForeground(getStatusColor()); 4558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot } 4658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot} 47