Olá...
Meu compilador é NetBeans 6.9.1
Realmente ele não mostra a linha de erro...
Mas estou depurando o font e ele esta apontando nesta linha
d = (Date) sdf.parse(dataTexto);
ele cai na na exceção da Class EventDispatchThread
catch (RuntimeException e) {
processException(e, modalFiltersCount > 0);
Mas executando ele mostra o erro .:
[list]run:
Exception occurred during event dispatching:
java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
at tela.PedidoTela.btnFormapgtbtnConfirmar(PedidoTela.java:688)
at tela.PedidoTela.access$500(PedidoTela.java:24)
at tela.PedidoTela$7.actionPerformed(PedidoTela.java:469)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
at java.awt.Dialog$1.run(Dialog.java:1046)
at java.awt.Dialog$3.run(Dialog.java:1098)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1096)
at java.awt.Component.show(Component.java:1563)
at java.awt.Component.setVisible(Component.java:1515)
at java.awt.Window.setVisible(Window.java:842)
at java.awt.Dialog.setVisible(Dialog.java:986)
at tela.PedidoTela$10.run(PedidoTela.java:835)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)[/list]
e minha classe DAO não esta redundante
esta assim :
public class PedidoDAOBD implements PedidoDAO {
public static java.sql.Date convertToSqlDate(java.util.Date oDate) {
return (new java.sql.Date(oDate.getTime()));
}
public static java.util.Date convertToDate(java.sql.Date sqlDate) {
return (new java.util.Date(sqlDate.getTime()));
}
public void inserir(Pedido pedido) {
BancoDeDados bd = null;
try {
bd = new BancoDeDados();
bd.conectar();
String sql = "INSERT INTO pedido (codigoparceiro,codigoformapagamento,total,datasistema,data) values (?,?,?,?,?)";
PreparedStatement ps = bd.getPreparedStatement(sql);
ps.setInt (1, pedido.getCodigoParceiro().getCodigoParceiro());
ps.setInt (2, pedido.getCodigoPagamento().getCodigoFormaPagamento());
ps.setDouble(3, pedido.getTotal());
ps.setDate (4, (pedido.getDatasistema()));
ps.setDate (5, convertToSqlDate(pedido.getData())); // RECEBE O DATEFIELD FORMATADO
ps.execute();
bd.desconectar();
} catch (Exception exception) {
JOptionPane.showMessageDialog(null, exception);
}
}
e que a classe que esta recebendo esta assim :
DateField datadf = new net.sf.nachocalendar.components.DateField();
datadf.setValue(dateField1.getValue());
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date d = null;
String dataTexto = sdf.format(datadf.getValue());
try {
d = (Date) sdf.parse(dataTexto); // DEPURANDO, O ERRO VEM AQUI
} catch (ParseException ex) {
Logger.getLogger(PedidoTela.class.getName()).log(Level.SEVERE, null, ex);
}
ped.setData(d);
tkx:
Qual compilador você está usando?
Ele não te dá a linha do erro?
Esse erro eh erro de cast, tipos não conversíveis entre si.
Esse erro que você está apontando eh qdo vc faz cast direto, tipo (Date)pedido.getDatasistema()
Revise seu código! e dê mais detalhes!