Data

7 respostas
A

bom eu criei a seguinte classe....

public class DataHora {

	private DataHora() {
	}

	public static String getDataHoje() {
		GregorianCalendar calendario = new GregorianCalendar();
		int dia = calendario.get(Calendar.DAY_OF_MONTH);
		int mes = calendario.get(Calendar.MONTH);
		int ano = calendario.get(Calendar.YEAR);
		String data = ano + "/" + mes + "/" + dia;
		return data;
	}

	public static String getHoraHoje() {
		GregorianCalendar horaHoje = new GregorianCalendar();
		int horas = horaHoje.get(Calendar.HOUR);
		int minuto = horaHoje.get(Calendar.MINUTE);
		int segundo = horaHoje.get(Calendar.SECOND);
		String hora = horas + ":" + minuto + ":" + segundo;
		return hora;
	}

	public static GregorianCalendar parseData(String data) throws ParseException {
		try {
			GregorianCalendar date = new GregorianCalendar();
			String[] sData = data.split("/");
			date.set(Calendar.DAY_OF_MONTH, Integer.parseInt(sData[0]));                        
			date.set(Calendar.MONTH, (Integer.parseInt(sData[1]) - 1));
			date.set(Calendar.YEAR, Integer.parseInt(sData[2]));
			return date;
		} catch (Exception ex) {
                    
                    JOptionPane.showMessageDialog(null, "Data inválida");
                    
			throw new ParseException(
                                
					"Data can't be parsed, use format dd/MM/yyyy", 0);
		}
	}
}

dae estou tentando validar a data usando o metodo parseData....quando o jformattertextfield perder o focus dessa forma....

try{
        DataHora.parseData(jData.getText());
    }catch(Exception e){
        
    }

só q ele não dá a exessão na hora q perde o focus alguem sabe pq?

7 Respostas

phpinheiro

olá…
tente chamar o método quando o campo perder focus.

Acredito que assim pode funcionar:

retornoData = seuCampoTexto.setFocusLostBehavior(dataHora.parseData(data));

teste algo deste tipo.

A

naum entendi esse retorno data é um metodo?

phpinheiro

então…é um exemplo de variável que poderia receber a data retornada do seu método. O seu método retorna um GregorianCalendar, então este retornoData poderia ser um objeto do mesmo tipo para receber o date de retorno.

Mas é só um exemplo.

A
DataHora retorna = new DataHora();
    private void jDataFocusLost(java.awt.event.FocusEvent evt) {                                
    GregorianCalendar data = new GregorianCalendar();
    retorna = jData.setFocusLostBehavior(datahora.parseData(data));
    
    }

tentei assim mas naum deu certo

phpinheiro

certo…quando eu disse objeto do mesmo tipo, eu quis dizer que o objeto deve ser do mesmo tipo do retorno do método, e não da classe DataHora.

o jData é um textfield?

tente algo assim:

GregorianCalendar retorno = JTextField.setFocusLostBehavior(Datahora.parseData(data));
A

mas o campo data…oq é…

Adolpho_Alves

Porque vc algo desse tipo faz assim?

try

{

SimpleDateFormat formatador = new SimpleDateFormat(dd/MM/yyyy);

setDataNascimento(formatador.parse(obj[9]));

}

catch(Exception excp)

{

throw new Exception(Data em formato invalido! (dd/mm/aaaa).);

}
Criado 16 de dezembro de 2008
Ultima resposta 16 de dez. de 2008
Respostas 7
Participantes 3