Retornar quantidade de dias de uma data

Gente, beleza?

Tenho uma tarefa a realizar e preciso de ajuda: Tenho uma aplicação em Java que deve receber uma data de nascimento (jtfEntrada) e retornar a quantidade de dias entre a data inserida e a data atual.
Como faço pra quando clicar no botão ‘calcular’ a resposta aparecer em jtfSaida?
Parece que só falta isso.

Valeu!

Cara vê se isso te ajuda.


package javaapplication;

import java.text.SimpleDateFormat;

public class JavaApplication {

    public static void main(String[] args) {
        try{
            SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");  
            java.sql.Date dataEntrada = new java.sql.Date(format.parse("01/03/2013").getTime()); 
            java.sql.Date dataAtual = new java.sql.Date(System.currentTimeMillis());
            long dias = (((( dataAtual.getTime() - dataEntrada.getTime())/1000)/60)/60)/24;
            javax.swing.JOptionPane.showMessageDialog(null, "Diferença de dias entre as datas: " + dias);
        }
        catch ( Exception e )
        {
            javax.swing.JOptionPane.showMessageDialog(null, e);
        }
    }
}

Amigão, estou tentando usando o seguinte código:

[code]{
//inicio do bloco 01
int dp, mp, ap;
dp = Integer.parseInt(jtfEntrada.getText().substring(0,2));
mp = Integer.parseInt(jtfEntrada.getText().substring(3,5));
ap = Integer.parseInt(jtfEntrada.getText().substring(6,10));
Data dataPassada = new Data();
dataPassada.setData(dp, mp, ap);
//fim do bloco 01

//inicio do bloco 02
int da, ma, aa;
da = Integer.parseInt(jtfEntrada.getText().substring(0,2));
ma = Integer.parseInt(jtfEntrada.getText().substring(3,5));
aa = Integer.parseInt(jtfEntrada.getText().substring(6,10));
Data dataAtual = new Data();
dataPassada.setData(da, ma, aa);
//fim do bloco 02

   int diasVividos = dataPassada.diferencaEntre(dataAtual);
   
   res += diasVividos;
   jtfSaida.setText(" " + diasVividos);

   }[/code]

Mas, como pode ver, a data atual(bloco 02) está recebendo o mesmo valor da data passada(bloco 01), daí o resultado é sempre zero. Como mudo o código para a data atual ser capturada automaticamente?

[quote=rui.a]Amigão, estou tentando usando o seguinte código:

[code]{
//inicio do bloco 01
int dp, mp, ap;
dp = Integer.parseInt(jtfEntrada.getText().substring(0,2));
mp = Integer.parseInt(jtfEntrada.getText().substring(3,5));
ap = Integer.parseInt(jtfEntrada.getText().substring(6,10));
Data dataPassada = new Data();
dataPassada.setData(dp, mp, ap);
//fim do bloco 01

//inicio do bloco 02
int da, ma, aa;
da = Integer.parseInt(jtfEntrada.getText().substring(0,2));
ma = Integer.parseInt(jtfEntrada.getText().substring(3,5));
aa = Integer.parseInt(jtfEntrada.getText().substring(6,10));
Data dataAtual = new Data();
dataPassada.setData(da, ma, aa);
//fim do bloco 02

   int diasVividos = dataPassada.diferencaEntre(dataAtual);
   
   res += diasVividos;
   jtfSaida.setText(" " + diasVividos);

   }[/code]

Mas, como pode ver, a data atual(bloco 02) está recebendo o mesmo valor da data passada(bloco 01), daí o resultado é sempre zero. Como mudo o código para a data atual ser capturada automaticamente?[/quote]

Pode reparar no código que mostrei para vc a função System.currentTimeMillis() retorna o tempo atual que pode ser convertido em data atual.
Preste atenção se está certo no bloco 2

  //inicio do bloco 02         
       int da, ma, aa;  
       da = Integer.parseInt(jtfEntrada.getText().substring(0,2));  
       ma = Integer.parseInt(jtfEntrada.getText().substring(3,5));  
       aa = Integer.parseInt(jtfEntrada.getText().substring(6,10));  
       Data dataAtual = new Data();  //Aqui
       dataPassada.setData(da, ma, aa);  //ou Aqui
    //fim do bloco 02