Problemas com java.util.Date

Ae pessoal, oq eu quero fazer é muito simples, porém não to conseguindo. é o seguinte: eu quero fz um pequeno aplicativo onde a pessoa clique “iniciar” ae pega a hora que ele clicou, e finalizar, a hora que ele está saindo, e dae calcular o tempo que isso ocorreu. Porém qndo eu clico no iniciar ele pega a data direitim, mas qndo clica no finalizar ele pega o msmo valor da inicial. Porque ? ae vai o código abaixo: [code] import java.awt.;
import java.awt.event.
;
import java.util.Date;

import javax.swing.*;

public class Botoes2 extends JFrame{
private static int hor;
private static int min;
private static int sec;
private int saveHr;
private int saveMin;
private int saveSec;
private int saveHr2;
private int saveMin2;
private int saveSec2;
Date data1 = new Date();
Date data2 = new Date();
private JButton iniciar = new JButton(“Iniciar”);
private JButton parar = new JButton(“Parar”);

public Botoes2(){
	Container mostra = getContentPane();
	mostra.setLayout(null);
	setSize(179,288);
	setTitle("Carga Horária de Trabalho");
	setResizable(false);
	
	add(iniciar);
	add(parar);
	iniciar.setBounds(40,87,90,30);
	parar.setBounds(41,132,90,30);
	
	iniciar.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
			iniciar();
		}
	});
	
	parar.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
			parar();
		}
	});
}


	public void iniciar(){
		Botoes2 obj = new Botoes2();
		System.out.println("Data de Hoje: "+data1); 
		hor = data1.getHours();
		 min = data1.getMinutes();
		 sec = data1.getSeconds();
		 
		 	
		 saveHr = obj.CalculaHr();
		 saveMin = obj.CalculaMin();
		 saveSec = obj.getSec();
		System.out.println("Horas em segundos "+obj.CalculaHr());
		System.out.println("Minutos em segundos "+obj.CalculaMin());
		System.out.println("Segundos "+obj.getSec());
		 
		
	}
	
	public void parar(){
		hor = data2.getHours();
		 min = data2.getMinutes();
		 sec = data2.getSeconds();
		 Botoes2 obj2 = new Botoes2(); 
		 saveHr2 = obj2.CalculaHr();
		 saveMin2 = obj2.CalculaMin();
		 saveSec2 = obj2.getSec();
		System.out.println("Horas em segundos "+obj2.CalculaHr());
		System.out.println("Minutos em segundos "+obj2.CalculaMin());
		System.out.println("Segundos "+obj2.getSec());
		
		obj2.CargaHr();
					
	}





	
	public static void main(String args[]){
		Botoes2 janela = new Botoes2();
		janela.show();
	}

	public int CalculaHr(){
		this.hor = hor;	
		  hor = ((hor*60)*60);
		  return hor;
	}
	
	public int CalculaMin(){
		this.min = min;
		min = (min*60);

	   return min;
		
	}
	
	public int getSec(){
		this.sec = sec ;
		return sec;
	}
	
	public void CargaHr(){
					
		System.out.println("Horas corridas: "+(saveHr2-saveHr));
		System.out.println("Horas corridas: "+(saveMin2-saveMin));
		System.out.println("Horas corridas: "+(saveMin2-saveMin));
	}

}
[/code]

O problema é bem simples, voce esta criando a data inicial e final ao mesmo tempo, “new Date()”

Coloca a instância do date dentro do método iniciar e parar:


		public void iniciar(){
			data1 = new Date();			
			Botoes2 obj = new Botoes2();
			System.out.println("Data de Hoje: "+data1); 
			hor = data1.getHours();
			 min = data1.getMinutes();
			 sec = data1.getSeconds();
			 
			 	
			 saveHr = obj.CalculaHr();
			 saveMin = obj.CalculaMin();
			 saveSec = obj.getSec();
			System.out.println("Horas em segundos "+obj.CalculaHr());
			System.out.println("Minutos em segundos "+obj.CalculaMin());
			System.out.println("Segundos "+obj.getSec());
			 
			
		}
		
		public void parar(){
			data2 = new Date();
			hor = data2.getHours();
			 min = data2.getMinutes();
			 sec = data2.getSeconds();
			 Botoes2 obj2 = new Botoes2(); 
			 saveHr2 = obj2.CalculaHr();
			 saveMin2 = obj2.CalculaMin();
			 saveSec2 = obj2.getSec();
			System.out.println("Horas em segundos "+obj2.CalculaHr());
			System.out.println("Minutos em segundos "+obj2.CalculaMin());
			System.out.println("Segundos "+obj2.getSec());
			
			obj2.CargaHr();
						
		}

vixe é mesmo ó ma ! valeu

agora só não ta dando certo a diferença …

vou tentar aqui ajeitar alguma coisa. qlquer problema retorno aqui minha dúvida. agradeço aae ajuda de vcs !

Oh tava fuçando no seu código… ele não esta fechando…

coloca

[code]
public Botoes2(){
Container mostra = getContentPane();
mostra.setLayout(null);
setSize(179,288);

    // Para finalizar o programa!
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);[/code]