Campo tipo Data e máscara

Pessoal!!

Meu cadastro estava funcionando perfeitamente, mas qdo coloquei máscara no campo tipo data ele dá o seguinte erro:

[quote]java.text.ParseException: Unparseable date: “//____”
at java.text.DateFormat.parse(Unknown Source)
at br.com.sstintas.view.ClienteJuridicoView$1.actionPerformed(ClienteJuridicoView.java:1265)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)[/quote]

Outra coisa quando tento criar o arquivo jar também estou com problemas:
http://www.portaljava.com/home/modules.php?name=Forums&file=viewtopic&t=29939

Valew Galera!!

Neste caso, me parece que você tentou salvar a data “//____” e isso realmente não é uma data. Esse erro acontece quando você entra com uma data válida? Ex 31/07/2006. Poste o código com a máscara que você criou. Se você está tentando usar MaskFormatter, use //**** para data.

Caro Vinícius

Estive verificando meu código e encontrei onde acontece o problema:
Antes de inserir a data eu faço a seguinte verificação: [code] Date CliDesde = (tfClienteDesde.getText().length() == 10 ) ? formata.parse(tfClienteDesde.getText()) : null;

[/code]

Só que agora ele vê que tem 10 itens e tenta salvar, daí que dá o erro.

Como poderia fazer essa verificação com a máscara??

Obrigada!

este tópico pode te ajudar.

A minha dúvida não é em relação a colocar a máscara, o problema é: o campo data não é obrigatório, então nem sempre haverá uma data para armazenar, daí vem o problema: Quando não digito a data ele tenta armazenar a máscara daí ocorre o erro porque o campo é do tipo Date.

Então faço a verificação para saber se campo está preenchido, qdo o campo não está preenchido ele encontra a máscara e daí tenta adicionar.

A minha dúvida é: como testar se o campo foi preenchido e ele desconsiderar a máscara.

Valeu!!

Veja este método:

public java.sql.Date converteData(String data1) { SimpleDateFormat f = new SimpleDateFormat("dd/MM/yyyy"); java.util.Date d1 = null; try { d1 = f.parse(data1); f.applyPattern("yyyy-MM-dd"); data1 = f.format(d1); } catch (Exception e) { return null; } java.sql.Date dt1 = java.sql.Date.valueOf(data1); return dt1; }

Se voce gravar no banco o retorno desse método, seu problema poderá ser resolvido. Para isso, seu atributo deve permitir null para a data. O que o método fáz, é retornar a data no formato que o BD aceita, e caso a data for inválida, seu retorno é null.

Isso te ajuda?

Vinícius

Muito obrigada pela dica. Deu certinho!!!

São pessoas como vc que fazem o portal java ter mais de 25 mil participantes!!!

Valeu!!! :lol:

AAhh… Agora gostei hein!