[RESOLVIDO] Erro ao colocar a data em uma Jlabel

Esse código é para exibir a data em um jlabel mas o mês só aparece o número 0 em vez do mês atual o resto esta funcionando perfeitamente a o ano e o dia, o que pode estar errado nesse código que esta causando esse erro???

Aguardo respostas…

import java.text.*;
import java.util.*;
public class ClassDatas {

    
    
    /** Creates a new instance of ClassDatas */
    public ClassDatas() {    }
    
    private Object dataCadastro;
    private Object hora;
    
    public Object PegaDataAtual(){
     GregorianCalendar cal = new GregorianCalendar();
     int dia = cal.get(Calendar.DAY_OF_MONTH);
     int mes = cal.get(Calendar.MONTH);
     int ano = cal.get(Calendar.YEAR);     
 
    dataCadastro = ano+ "/" +mes+ "/" +dia;
     return this.dataCadastro;
    }
    
    public Object PegaHora(){
        GregorianCalendar ho = new GregorianCalendar();
     int h = ho.get(Calendar.HOUR);
     int m = ho.get(Calendar.MINUTE);
     int s = ho.get(Calendar.SECOND);
     hora = h+":"+m+":"+s;
     return this.hora;
    }
    
    
}





private void formWindowOpened(java.awt.event.WindowEvent evt) {                                  
// TODO add your handling code here:
        ClassDatas data = new ClassDatas();
        lblData.setText(data.PegaDataAtual().toString());
    }                                 

A Classe Abstrata Calendar retorna um inteiro de 0 a 11 referente aos meses, onde 0 é janeiro e 11 é dezembro se vc fazer isso:

int mes = cal.get(Calendar.MONTH );  

Ele vai retornar: 0 que é janeiro.

inclusive ele tem constantes referentes aos meses

Exemplo;

int mes = cal.get(Calendar.JANUARY); 

Já utilizei dessa maneira, e tive que usar um switch case, para mostrar os meses, tipo: caso for 0 ai eu fazia isso:

int mes = cal.get(Calendar.JANUARY); 

E assim com os demais.

Use assim:

package br.com.estoque.utilitarios;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Data {

	public String dia, mes, diaDaSemana, ano;

	public String leData() {

		SimpleDateFormat formatada = new SimpleDateFormat(
				"EEEE, dd 'de' MMMM 'de' yyyy");

		Date data = new Date();

		String dataFormatada = formatada.format(data);
		return dataFormatada;
	}

	public String leHora() {
		String formatador = "HH:mm:ss";
		Date data = new Date();

		SimpleDateFormat formatada = new SimpleDateFormat(formatador);
		String dataAtual = formatada.format(data);

		return dataAtual;
	}

	public static void main(String[] args) {
		Data d = new Data();
		System.out.println(d.leData());
	}

}

Boa sorte.

Boa tarde Oziel !!!

As datas em java, mais especificamente o mês é indexado a partir do 0, ou seja:
janeiro=0, fevereiro=1 e assim por diante, se vc estiver pegando a data atual do SO, provavelmente aparecerá 0(zero) referente ao mês, se quiser manter os meses de acordo com o que estamos acostumados, terá de usar alguma lógica para isso(continha básica rsrs)…
Abraço.

Usa SimpleDateFormat.

Edit: Ops, já haviam respondido o mesmo acima.

Muito Obrigado cara vc’s me ajudaram muito deu certinho, valeu até a próxima…

[quote=Oziel Morais]Esse código é para exibir a data em um jlabel mas o mês só aparece o número 0 em vez do mês atual o resto esta funcionando perfeitamente a o ano e o dia, o que pode estar errado nesse código que esta causando esse erro???

Aguardo respostas…

import java.text.*;
import java.util.*;
public class ClassDatas {

    
    
    /** Creates a new instance of ClassDatas */
    public ClassDatas() {    }
    
    private Object dataCadastro;
    private Object hora;
    
    public Object PegaDataAtual(){
     GregorianCalendar cal = new GregorianCalendar();
     int dia = cal.get(Calendar.DAY_OF_MONTH);
     int mes = cal.get(Calendar.MONTH);
     int ano = cal.get(Calendar.YEAR);     
 
    dataCadastro = ano+ "/" +mes+ "/" +dia;
     return this.dataCadastro;
    }
    
    public Object PegaHora(){
        GregorianCalendar ho = new GregorianCalendar();
     int h = ho.get(Calendar.HOUR);
     int m = ho.get(Calendar.MINUTE);
     int s = ho.get(Calendar.SECOND);
     hora = h+":"+m+":"+s;
     return this.hora;
    }
    
    
}





private void formWindowOpened(java.awt.event.WindowEvent evt) {                                  
// TODO add your handling code here:
        ClassDatas data = new ClassDatas();
        lblData.setText(data.PegaDataAtual().toString());
    }                                 

[/quote]