Ja vi vários tópicos falando sobre o DateChooser mas não to conseguindo setar a data no formato dd/MM/yyyy
Pelo q eu entendi eu fiz isso:
private JDateChooser getTxtDataLancamento() {
//
if (txtDataLancamento == null) {
// TODO Stub de método gerado automaticamente
//txtDataLancamento = new JDateChooser();
txtDataLancamento = new JDateChooser("dd/MM/yyyy","##/##/####",'-');
txtDataLancamento.setBounds(new Rectangle(10, 15, 180, 20));
Date dataAtual = new Date();
txtDataLancamento.setDate(dataAtual);
}
return txtDataLancamento;
}
E ao setar o valor do campo estou fazendo assim:
lancamentoDespesaVO.setDate_lancamento(getTxtDataLancamento().getDate());
Mas mesmo assim a data está Sun Nov 28 17:24:20 BRST 2010
Qual seria o problema?
Quando você pega um objeto java.util.Date (que é um objeto muito bobo, ele contém apenas o número de milissegundos que se passaram desde 1/1/1970) e chama seu método toString (direta ou indiretamente), ele sempre irá mostrar esse tipo de coisas.
Você precisa usar java.text.SimpleDateFormat para converter esse java.util.Date para a uma String no formato que você quer.
fiz um método para formatar a data:
[code]public static Date formataData(String data) throws Exception {
if (data == null || data.equals("")){
return null;
}
Date date = null;
try {
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
date = (Date)formatter.parse(data);
} catch (ParseException e) {
throw e;
}
System.out.println("|||||||||||||"+ date);
return date;
}[/code]
setando assim:
lancamentoDespesaVO.setDate_lancamento(Formatador.formataData(getTxtDataLancamento().getDate().toString()));
e ocorreu esse erro:
[color=red]java.text.ParseException: Unparseable date: “Tue Nov 16 17:59:18 BRST 2010”
at java.text.DateFormat.parse(Unknown Source)[/color]