Olá pessoal estou com um erro muito estranho, ele estava funcionando normalmente depois sem motivo aparente parou de funcionar.
Uso um sistema de percistencia JDBC
Netbeans 7.3
Db: mysql 5.5
O erro e o seguinte tenho um campo jformated que esta anexado diretamente a mastertable, ou seja digito o valor no campo ele tem que aparecer na master table, eu digito o valor e não aparece na master table, mas quando saio do campo me apresenta o seguinte erro:
run:
[TopLink Info]: 2013.05.17 05:06:34.114--ServerSession(2338822)--TopLink, version: Oracle TopLink Essentials - 2.1 (Build 60f (01/07/2009))
[TopLink Info]: 2013.05.17 05:06:35.415--ServerSession(2338822)--file:/D:/java/programas/SiscomWD/netbeans/siscomwd/build/classes/-siscomwdPU login successful
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: Cannot cast java.lang.Long to java.lang.Double
at java.lang.Class.cast(Class.java:3014)
at org.jdesktop.beansbinding.Binding.convertReverse(Binding.java:1321)
at org.jdesktop.beansbinding.Binding.getTargetValueForSource(Binding.java:909)
at org.jdesktop.beansbinding.Binding.saveUnmanaged(Binding.java:1268)
at org.jdesktop.beansbinding.Binding.save(Binding.java:1254)
at org.jdesktop.beansbinding.AutoBinding.trySaveThenRefresh(AutoBinding.java:176)
at org.jdesktop.beansbinding.AutoBinding.targetChangedImpl(AutoBinding.java:249)
at org.jdesktop.beansbinding.Binding.targetChanged(Binding.java:1433)
at org.jdesktop.beansbinding.Binding.access$1300(Binding.java:38)
at org.jdesktop.beansbinding.Binding$PSL.propertyStateChanged(Binding.java:1620)
at org.jdesktop.beansbinding.PropertyHelper.firePropertyStateChange(PropertyHelper.java:212)
at org.jdesktop.beansbinding.BeanProperty.notifyListeners(BeanProperty.java:712)
at org.jdesktop.beansbinding.BeanProperty.access$1000(BeanProperty.java:143)
at org.jdesktop.beansbinding.BeanProperty$SourceEntry.cachedValueChanged(BeanProperty.java:369)
at org.jdesktop.beansbinding.BeanProperty$SourceEntry.propertyValueChanged(BeanProperty.java:409)
at org.jdesktop.beansbinding.BeanProperty$SourceEntry.propertyChange(BeanProperty.java:414)
at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
at java.awt.Component.firePropertyChange(Component.java:8382)
at javax.swing.JFormattedTextField.setValue(JFormattedTextField.java:799)
at javax.swing.JFormattedTextField.commitEdit(JFormattedTextField.java:530)
at javax.swing.JFormattedTextField$FocusLostHandler.run(JFormattedTextField.java:649)
at javax.swing.JFormattedTextField.processFocusEvent(JFormattedTextField.java:631)
at java.awt.Component.processEvent(Component.java:6261)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1895)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:947)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:621)
at java.awt.Component.dispatchEventImpl(Component.java:4731)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.awt.EventQueue$3.run(EventQueue.java:686)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:702)
at java.awt.EventQueue$4.run(EventQueue.java:700)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
CONSTRUÍDO COM SUCESSO (tempo total: 37 segundos)
O mais interessante que eu ja tirei a ligação com a mastertable e o erro parou, porem não grava os dados no banco.
O código de ligação com a mastertable e esse:
masterTable[${selectedElement.lancValor}]
Vi que o erro esta enviando uma variável do estilo long a master table que e double, mas já procurei por tudo e não achei onde poderia estar.
Na classe onde controla o mestre detalhe do valor esta correto veja o codigo a baixo:
public Double getLancValor() {
return lancValor;
}
public void setLancValor(Double lancValor) {
Double oldLancValor = this.lancValor;
this.lancValor = lancValor;
changeSupport.firePropertyChange("lancValor", oldLancValor, lancValor);
}
O interessante que eu acabei de trocar o campo por um Jtextfield e funcionou perfeitamente, mas o campo não fica formatado…
Alguém poderia me orientar o que posso fazer?