Ranking problema com cronometro (THREAD)

Opa estou com um problema aqui, estou fazendo um jogo e preciso de um ranking, mas acontece o seguinte:

Ele está funcionando direito, só que quando eu começo um novo jogo em uma nova tela, na hora de salvar o tempo ele salva 2 tempos, e cada jogo criado ele salva um a mais.
Alguém sabe como posso resolver isso? como adicono apenas o tempo do jogo atual? vlws

public class Contador extends Thread {

	private JLabel tempo;

	public Contador(JLabel tempo) {
		this.tempo = tempo;
	}

	@Override
	public void run() {
		try {
			int segundo = 0;
			int hora = 0;
			int minuto = 0;
			while (true) {
				if (TelaJogo.isContador()) {
					if (TelaJogo.isZerado()) {
						Jogador j1 = new Jogador();
						JogadorDao jdao = new JogadorDao();
						String timer = completaComZero(hora) + ":"
								+ completaComZero(minuto) + ":"
								+ completaComZero(segundo);
						TelaJogo.testeString(timer);

						TelaJogo.setZerado(false);
					}

					if (segundo == 59) {
						segundo = 00;
						minuto = minuto + 1;
					}

					if (minuto == 59) {
						minuto = 00;
						hora = hora + 1;
					}
					segundo++;
					String timer = completaComZero(hora) + ":"
							+ completaComZero(minuto) + ":"
							+ completaComZero(segundo);
					this.tempo.setText(timer);
					this.tempo.revalidate();
				}
				Thread.sleep(1000);
			}

		} catch (InterruptedException ex) {
			ex.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	private String completaComZero(Integer i) {
		String retorno = null;
		if (i < 10) {
			retorno = "0" + i;
		} else {
			retorno = i.toString();
		}
		return retorno;
	}
}

PS:> Como eu posto o código naquela janela separada igual todos fazem?

Pronto formatei o post, desculpe não ter achado antes, mas agora já está legível, obrigado

amigo, vc não esta criando uma nova thread cada vez que inicia o jogo ???


	public TelaJogo() throws SQLException {
		
		Jogo j1 = new Jogo();
		
		CminadoDao cDao = new CminadoDao();
		cDao.seleciona(j1);
		
		numL = j1.getNumL();
		numC = j1.getNumC();
		numB = j1.getNumB();

       
		// Inicializa o cronometro
		
		JLabel lContador = new JLabel("00:00:00");

		lContador.setText("00:00:00");

		Contador cont = new Contador(lContador);
		contador = true;
		cont.start();

Quando o jogador perde o jogo:

zerado = true;
contador = false;

E as classes que eu uso para o cronometro:

    public static boolean isContador(){  
        return contador;  
    }  
  
    public static boolean isZerado(){  
        return zerado;  
    }  
      
    public static void setZerado(boolean zero){  
        zerado = zero;  
    } 

Eu nunca usei Thread antes, estou usando pq preciso de um cronometro e então achei esse, dei uma adaptada e tava funcionando bem, até precisar fazer mais coisas com ele… =(

Ninguém? eu tentei criar uma nova thread mas não sei se fiz certo… continuou com o mesmo problema… alguém sabe outro jeito para eu fazer o cronometro então? ou como solucionar esse problema?