Là VAI BOMBA!!!
Se tiver algum erro, me avise, não deu tempo de revisar tudo 
package main;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.Font;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Main extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private final JLabel lblHoras = new JLabel("00:");
private JLabel lblMinutos;
private JLabel lblSegundos;
private boolean reiniciar = false;
private JButton btnParar;
private boolean clear = false;
private int ih = 0;
private int im = 0;
private int is = 0;
public static void main(String[] args) {
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("GTK+".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
}//isso é so para o look and feel, não tem necessidade de usar, eu trabalho com mint e acho esse mais bonito! :D
new Main().setVisible(true);
}
private Timer segundos = new Timer(1000,new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
is++;//ou, dependendo de que parte do aprendizado você está, i = i+1;
lblSegundos.setText(is + "");
if(is==60)
{
is = 0;
}
}
});
private Timer minutos = new Timer(60000,new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
im++;
lblMinutos.setText(im + ":");
if(im==60)
{
im = 0;
}
}
});
private Timer horas = new Timer(600000,new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
ih++;
lblHoras.setText(ih+ ":");
if(clear==true)
{
ih = 0;
clear = false;
}
}
});
public Main() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 261, 302);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(null);
setContentPane(contentPane);
lblHoras.setFont(new Font("Dialog", Font.BOLD, 14));
lblHoras.setBounds(86, 100, 26, 49);
contentPane.add(lblHoras);
JButton btnComear = new JButton("Começar");
btnComear.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
btnParar.setEnabled(true);
if(reiniciar==false)
{
reiniciar = true;
segundos.start();
horas.start();
minutos.start();
}else
{
segundos.restart();
horas.restart();
minutos.restart();
}
btnComear.setEnabled(false);
}
});
btnComear.setBounds(12, 230, 117, 25);
contentPane.add(btnComear);
btnParar = new JButton("Parar");
btnParar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
clear = true;
btnComear.setText("Reiniciar");
segundos.stop();
horas.stop();
minutos.stop();
btnParar.setEnabled(false);
btnComear.setEnabled(true);
ih = 0;
is = 0;
im = 0;
}
});
btnParar.setEnabled(false);
btnParar.setBounds(125, 230, 117, 25);
contentPane.add(btnParar);
lblMinutos = new JLabel("00:");
lblMinutos.setFont(new Font("Dialog", Font.BOLD, 14));
lblMinutos.setBounds(124, 100, 26, 49);
contentPane.add(lblMinutos);
lblSegundos = new JLabel("00");
lblSegundos.setFont(new Font("Dialog", Font.BOLD, 14));
lblSegundos.setBounds(157, 100, 26, 49);
contentPane.add(lblSegundos);
}
}