2013-09-07 5 views
0

Занято школьным проектом, а NetBeans разочаровывает меня до смерти. Пожалуйста, помогите мне решить приведенную ниже ошибку и, пожалуйста, покажите мне, что я сделал неправильно.Исключение исключений для привязки

Я занят привязками и Apache Derby. То, что я делаю, - это привязка данных из базы данных к текстовым полям. У меня есть форма JFrame с двумя вкладками. У одной есть таблица на нем 1, а другая - отдельные записи 2.

[1]

[2]

Это выдержка из кодирующего связывания на одном экране запись:

1 package UserManager; 

    import java.util.*; 

5 /** 
    * 
    * @author Johan Brink 
    */ 
    public class Data extends javax.swing.JFrame { 
10  Users users = new Users(); 
     ListIterator<Users>iterator; 

     public Users getUsers() { 
       return users; 
15  } 

     public void setUsers(Users users) { 
       Users oldUsers = this.users; 
       this.users = users; 
20   firePropertyChange("users", oldUsers, users); 
     } 

     /** 
      * Creates new form Data 
25  */ 
     public Data() { 
       initComponents(); 
       setLocationRelativeTo(rootPane); 
       iterator = usersList.listIterator(0); 
30   setUsers(iterator.next()); 
     } 

Проблема заключается в строках 29 и 30. Это работали в прошлое, но теперь я получаю сообщение об ошибке. У меня есть автоматически созданный класс сущностей и т. Д. Без строк 29 и 30 все работает, за исключением информации о отдельных записях. Когда линии 29 и 30 вставлен, отображается следующее сообщение об ошибке при запуске:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: Cannot cast java.util.Date to java.lang.String 
    at java.lang.Class.cast(Class.java:3084) 
    at org.jdesktop.beansbinding.Binding.convertForward(Binding.java:1312) 
    at org.jdesktop.beansbinding.Binding.getSourceValueForTarget(Binding.java:844) 
    at org.jdesktop.beansbinding.Binding.refreshUnmanaged(Binding.java:1222) 
    at org.jdesktop.beansbinding.Binding.refresh(Binding.java:1207) 
    at org.jdesktop.beansbinding.AutoBinding.tryRefreshThenSave(AutoBinding.java:162) 
    at org.jdesktop.beansbinding.AutoBinding.sourceChangedImpl(AutoBinding.java:227) 
    at org.jdesktop.beansbinding.Binding.sourceChanged(Binding.java:1411) 
    at org.jdesktop.beansbinding.Binding.access$1200(Binding.java:38) 
    at org.jdesktop.beansbinding.Binding$PSL.propertyStateChanged(Binding.java:1618) 
    at org.jdesktop.beansbinding.PropertyHelper.firePropertyStateChange(PropertyHelper.java:212) 
    at org.jdesktop.beansbinding.ELProperty.notifyListeners(ELProperty.java:688) 
    at org.jdesktop.beansbinding.ELProperty.access$800(ELProperty.java:155) 
    at org.jdesktop.beansbinding.ELProperty$SourceEntry.processSourceChanged(ELProperty.java:312) 
    at org.jdesktop.beansbinding.ELProperty$SourceEntry.sourceChanged(ELProperty.java:326) 
    at org.jdesktop.beansbinding.ELProperty$SourceEntry.propertyChange(ELProperty.java:333) 
    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 UserManager.Data.setUsers(Data.java:24) 
    at UserManager.Data.<init>(Data.java:34) 
    at UserManager.Data$7.run(Data.java:419) 
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251) 
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733) 
    at java.awt.EventQueue.access$200(EventQueue.java:103) 
    at java.awt.EventQueue$3.run(EventQueue.java:694) 
    at java.awt.EventQueue$3.run(EventQueue.java:692) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) 
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:703) 
    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) 

ответ

1

Вы не включили код, корень проблемы, но исключение говорит, что связывание код пытается бросить String к a Date ... и это большой нет-нет в Java!

Я подозреваю, что проблема в том, что у вас есть дата-о-рождения поля в User объекта, который имеет тип Date и связывание объекта пытается рефлекторно назначить String к нему.

Если это проблема, то вам нужно добавить пользовательские Converter к соответствующему Binding объекта для преобразования между String и Date объектов. Похоже, вам нужно будет написать собственный конвертер для выполнения задания.

Ссылки:

 Смежные вопросы

  • Нет связанных вопросов^_^