@Override
  public void actionPerformed(ActionEvent e) {
    String command = e.getActionCommand();
    if (command.equals(start.getActionCommand())) {
      time.start();
    } else if (command.equals(stop.getActionCommand())) {
      time.stop();
    } else if (command.equals(btnReset.getActionCommand())) {
      time.stop();
      time.reset();
    } else if (command.equals(chckbxDecrescent.getActionCommand())) {
      if (chckbxDecrescent.isSelected()) {
        time.setDecrescent(true);
      } else {
        time.setDecrescent(false);
      }
    } else if (command.equals(btnSave.getActionCommand())) {
      tempos.add(time.getTime());
      Collections.sort(tempos);
      tabela.montarTabela(tempos);
    } else if (command.equals(btnSetTime.getActionCommand())) {
      time.setTime(newTime.getText());
    }

    repaint();
  }
  public Windows() {
    super("Time");
    setSize(new Dimension(200, 400));
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    tempos = new ArrayList<String>();

    try {
      newTime = new JFormattedTextField(new MaskFormatter("##:##:##"));
    } catch (ParseException e) {
      e.printStackTrace();
      JOptionPane.showMessageDialog(
          null,
          "Formato do tempo inválido. Tente novamente.\nEx.: 11:35:00",
          "Horário inválido!",
          JOptionPane.ERROR_MESSAGE);
    }

    btnSetTime = new JButton("Set Time");
    btnSetTime.addActionListener(this);

    start = new JButton("Start");
    start.addActionListener(this);

    stop = new JButton("Stop");
    stop.addActionListener(this);

    btnReset = new JButton("Reset");
    btnReset.addActionListener(this);

    btnSave = new JButton("Save");
    btnSave.addActionListener(this);

    chckbxDecrescent = new JCheckBox("Decrescent");
    chckbxDecrescent.addActionListener(this);

    label = new JLabel("00:00:00");

    JPanel panel = new JPanel();
    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));

    panel.add(label);
    panel.add(newTime);
    panel.add(btnSetTime);
    panel.add(start);
    panel.add(stop);
    panel.add(btnReset);
    panel.add(btnSave);
    panel.add(chckbxDecrescent);

    Container container = getContentPane();
    container.add(panel);

    time = new Time(label, 0, 0);

    scrollPane = new JScrollPane();
    panel.add(scrollPane);

    tabela = new Tabela();
    tabela.getColumnModel().getColumn(0).setResizable(false);
    tabela.getColumnModel().getColumn(1).setResizable(false);
    scrollPane.setViewportView(tabela);

    setVisible(true);
  }