Bom dia tenho um campo de data de nascimento Jformattedtextfield e não consigo valida -lo, estava fazendo o teste se o cliente esquece de digitar a data não esta caindo no JOPTIONPANE.
Ele esta iniciando com a formatação
jtData_nasc.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("##/##/####")));
O código
else if (jtData_nasc.getText().equals(null)) {
JOptionPane.showMessageDialog(this, “Preencha o seu nascimento.”);
} else {
O código completo
TecnicoDAO usuarioDAO = new TecnicoDAO();
Tecnico usuario = new Tecnico();
if (jtNome.getText().equals("")) {
JOptionPane.showMessageDialog(this, "Preencha o campo nome.");
jtNome.requestFocus();
} else if (jtUsuario.getText().equals("")) {
JOptionPane.showMessageDialog(this, "Preencha o campo técnico.");
jtUsuario.requestFocus();
} else if (jtData_nasc.getText().equals(null)) {
JOptionPane.showMessageDialog(this, "Preencha o seu nascimento.");
} else {
Date data_nasc = null;
try {
data_nasc = new SimpleDateFormat("dd/MM/yyyy").parse(jtData_nasc.getText());
} catch (ParseException ex) {
Logger.getLogger(CadastroUsuarios.class.getName()).log(Level.SEVERE, null, ex);
}
String dataBanco_nasc = new SimpleDateFormat("yyyy-MM-dd").format(data_nasc);
SimpleDateFormat formatador = new SimpleDateFormat("yyyy-MM-dd");
Date data_atual = new Date();
String data_inc = formatador.format(data_atual);
usuario.setNome(jtNome.getText());
usuario.setRua(jtRua.getText());
if (jtNumero.getText().equals("")) {
jtNumero.setText("0");
}
usuario.setNumero(Integer.parseInt(jtNumero.getText()));
usuario.setCep(jtCep.getText());
if (jtCep.getText().equals(" - ")) {
usuario.setCep("");
}
usuario.setBairro(jtBairro.getText());
usuario.setTelefone_res(jtTelefone_res.getText());
if (jtTelefone_res.getText().equals("( ) ")) {
usuario.setTelefone_res("Não informado");
}
usuario.setTelefone_cel(jtTelefone_cel.getText());
if (jtTelefone_cel.getText().equals("( ) ")) {
usuario.setTelefone_cel("Não informado");
}
usuario.setCpf(jtCpf.getText());
if (jtCpf.getText().equals(" . . - ")) {
usuario.setCpf("");
}
usuario.setRg(jtRg.getText());
usuario.setData_nasc(dataBanco_nasc);
usuario.setTecnico(jtUsuario.getText());
usuario.setEmail(jtEmail.getText());
usuario.setData_inc(data_inc);
usuario.setCidade(jtCidade.getText());
usuario.setEstado(jtEstado.getText());
usuario.setData_alt(data_inc);
usuarioDAO.cadastrarUsuario(usuario);
JOptionPane.showMessageDialog(this, "Técnico inserido com sucesso!");
jtNome.setText(null);
jtRua.setText(null);
jtNumero.setText(null);
jtCep.setText(null);
jtBairro.setText(null);
jtTelefone_res.setText(null);
jtTelefone_cel.setText(null);
jtCpf.setText(null);
jtRg.setText(null);
jtData_nasc.setText(null);
jtUsuario.setText(null);
jtEmail.setText(null);
jtCidade.setText(null);
jtEstado.setText(null);
}
O erro apresentado:
dez 11, 2017 10:57:21 AM br.com.visual.CadastroTecnicos cadastro
GRAVE: null
java.text.ParseException: Unparseable date: " / / "
at java.text.DateFormat.parse(DateFormat.java:366)
at br.com.visual.CadastroTecnicos.cadastro(CadastroTecnicos.java:407)
at br.com.visual.CadastroTecnicos.btCadastrarActionPerformed(CadastroTecnicos.java:272)
at br.com.visual.CadastroTecnicos.access$1300(CadastroTecnicos.java:18)
at br.com.visual.CadastroTecnicos$9.actionPerformed(CadastroTecnicos.java:209)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at java.util.Calendar.setTime(Calendar.java:1770)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:943)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:936)
at java.text.DateFormat.format(DateFormat.java:345)
at br.com.visual.CadastroTecnicos.cadastro(CadastroTecnicos.java:411)
at br.com.visual.CadastroTecnicos.btCadastrarActionPerformed(CadastroTecnicos.java:272)
at br.com.visual.CadastroTecnicos.access$1300(CadastroTecnicos.java:18)
at br.com.visual.CadastroTecnicos$9.actionPerformed(CadastroTecnicos.java:209)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)