Olá pessoal,
Estou enfrentando a seguinte situação, possuo um botão Alterar que ao clicar eu quero que pegue a data em meu banco (dd/MM/yyyy) e jogue no dataChooser para que caso eu queira alterar ou não.
JLabel lblDataDeNascimento = new JLabel(“Data de Nascimento:”);
lblDataDeNascimento.setBounds(430, 118, 120, 14);
JDateChooser dateChooser_data = new JDateChooser();
dateChooser_data.setBounds(565, 115, 137, 20);
String data_nasc = new SimpleDateFormat(“dd/MM/yyyy”).format(dateChooser_data.getDate());
String data = tabela.getValueAt(tabela.getSelectedRow(), 6).toString(); // Aqui é quando eu seleciono o campo da data do meu Jtable e jogo para uma variável
dateChooser_data.setDate(data); // Aqui é onde eu quero que ele jogue minha data para caso eu queira alterar
Meu código está reclamando nessa parte do setDate, onde eu quero que o “data” que vem do banco vá para o campo do dataChooser.
1 curtida
Você deve converter a String de volta para Date antes de colocá-la no jDateChooser.
String data = "22/06/2017";
Date date;
DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
try {
date = (Date) formatter.parse(data);
} catch(ParseException e) {
System.out.println("Erro ao realizar conversão da data!");
}
Agradeço a participação meu amigo. Mas não funcionou a solução.
String data = tabela.getValueAt(tabela.getSelectedRow(), 6).toString();
Date date = null;
DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
try {
date = (Date) formatter.parse(data);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// String data_nasc = new SimpleDateFormat(“dd/MMyyyy”).format(dateChooser_data.getDate());
dateChooser_data.setDate(date);
Aparece o seguinte erro:
Exception in thread “AWT-EventQueue-0” java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
Você deve utilizar a classe java.util.Date e não java.sql.Date para fazer o cast!
Verifica se você fez o import correto.
date = (java.util.Date) formatter.parse(data);
Cara eu consegui fazer da seguinte forma:
try {
dateChooser_data.setDate(new SimpleDateFormat(“dd/MM/yyyy”).parse(data));
} catch (ParseException e) {
e.printStackTrace();
}
Desta forma eu consigo pegar a data que está em String do banco e jogar no campo do meu DataChooser. Só que agora está ocorrendo outro problema que é quando eu clico no botão salvar, no caso se eu quiser manter ou alterar a data.
No meu botão salvar tem a action:
String data_nasc = new SimpleDateFormat(“dd/MM/yyyy”).format(dateChooser_data.getDate());
E em seguida o comando sql para dar o update. Mas está retornando o seguinte erro:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at java.util.Calendar.setTime(Unknown Source)
at java.text.SimpleDateFormat.format(Unknown Source)
at java.text.SimpleDateFormat.format(Unknown Source)
at java.text.DateFormat.format(Unknown Source)
at MenuCliente$6$1.actionPerformed(MenuCliente.java:457)
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.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(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)