(Resolvido)Limpando um Tipo DATE

4 respostas
Michel_M

[Ola pessoal boa tarde a todos...
Vamos la então vou explicar o problema que eu estou tendo agora,
estou usando formulário para cadastrar e para editar e a minha duvida é
a seguinte como que eu faço para limpar um tipo "DATE" para quando o usuario
for cadastrar os campos não imprimir NULL...

Reserva res = (Reserva) request.getAttribute("res");

 if(res == null){
    res = new Reserva();
    res.setDataFimOcupa();//o que devo setar ou senão algum metodo que eu ja tente procurar como por exemplo clear e não achei..
    res.getCaractReservas().setComentario("");//por exemplo aqui se eu setar vazio não vai aparecer null.Só estou citando um exmplo
                                              
}

ou melhor algum metodo para limpar o objeto para ele não ficar imprimindo null nos inputs do formulario...

Desde ja agradeço a todos

4 Respostas

matheuslmota

Forneça mais detalhes sobre o problema. Que tipo de campo é esse que você está usando para armazenar a data?

Michel_M

Ola amigo é do tipo “DATE” eu quero setar vazio para ele ou senão limpar o objeto
que eu estou criando dentro “IF” para ele não mostrar NULL…

matheuslmota

Você pode usar isso:

JFormattedTextField field = new JFormattedTextField(new SimpleDateFormat("dd/MM/yy")); field.setValue(new Date(System.currentTimeMillis()));

Você não pode passar um valor vazio para um campo data. Ao invés disso, passe uma data válida. Nesse código que eu passei, eu passo a data corrente para o campo.

nel

Michel M:
Ola amigo é do tipo “DATE” eu quero setar vazio para ele ou senão limpar o objeto
que eu estou criando dentro “IF” para ele não mostrar NULL…

Um date nunca é vazio, meu caro colega. No máximo, podes ter uma referência nula.
O que podes fazer é alterar o tipo para uma String quando for apresentar o mesmo na tela.

Dessa forma, podes formatar a data como desejar e quando for nulo, simplesmente mostra uma String vazia.
Segue exemplo, utilizando a data no formato dd/MM/yyyy.

res = new Reserva(); res.setDataFimOcupa(suaData == null ? " " : new SimpleDateFormat("dd/MM/yyyy").format(suaData));

O suaData é um tipo java.util.Date, caso seja um java.sql.Date, só altere dentro do format para:

new java.util.Date(suaData.getTime)

Creio que isso resolva seu problema.
Caso não conheça os simbolos usado ali ? e : chama-se “if ternario” ok?

Abraços.

Criado 30 de julho de 2011
Ultima resposta 30 de jul. de 2011
Respostas 4
Participantes 3