| package junit.swingui; |
| |
| import javax.swing.*; |
| import javax.swing.event.*; |
| import javax.swing.border.*; |
| import java.awt.*; |
| |
| /** |
| * A panel with test run counters |
| */ |
| public class CounterPanel extends Panel { |
| private JTextField fNumberOfErrors; |
| private JTextField fNumberOfFailures; |
| private JTextField fNumberOfRuns; |
| private int fTotal; |
| |
| public CounterPanel() { |
| super(new GridLayout(2, 3)); |
| add(new JLabel("Runs:")); |
| add(new JLabel("Errors:")); |
| add(new JLabel("Failures: ")); |
| fNumberOfErrors= createOutputField(); |
| fNumberOfFailures= createOutputField(); |
| fNumberOfRuns= createOutputField(); |
| add(fNumberOfRuns); |
| add(fNumberOfErrors); |
| add(fNumberOfFailures); |
| } |
| |
| private JTextField createOutputField() { |
| JTextField field= new JTextField("0", 4); |
| field.setHorizontalAlignment(JTextField.LEFT); |
| field.setFont(StatusLine.BOLD_FONT); |
| field.setEditable(false); |
| field.setBorder(BorderFactory.createEmptyBorder()); |
| return field; |
| } |
| |
| public void reset() { |
| setLabelValue(fNumberOfErrors, 0); |
| setLabelValue(fNumberOfFailures, 0); |
| setLabelValue(fNumberOfRuns, 0); |
| fTotal= 0; |
| } |
| |
| public void setTotal(int value) { |
| fTotal= value; |
| } |
| |
| public void setRunValue(int value) { |
| fNumberOfRuns.setText(Integer.toString(value) + "/" + fTotal); |
| } |
| |
| public void setErrorValue(int value) { |
| setLabelValue(fNumberOfErrors, value); |
| } |
| |
| public void setFailureValue(int value) { |
| setLabelValue(fNumberOfFailures, value); |
| } |
| |
| private String asString(int value) { |
| return Integer.toString(value); |
| } |
| |
| private void setLabelValue(JTextField label, int value) { |
| label.setText(Integer.toString(value)); |
| } |
| } |