Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/03/2014, 11:14
Avatar de farfamorA
farfamorA
 
Fecha de Ingreso: noviembre-2010
Ubicación: Lima
Mensajes: 136
Antigüedad: 14 años, 1 mes
Puntos: 24
Respuesta: Error al insertar datos en Access desde Netbeans

Lo que sucede es que no estás obteniendo los datos de las ventanas que tienes abiertas, sino que estás creando otras instancias de Censo y de Observación con estas líneas
Código Java:
Ver original
  1. Censo cen = new Censo();
  2. Observacion ob = new Observacion();
Estas instancias de Censo y Observacion son nuevas, no son las que tienes abiertas. Si añadieras
Código Java:
Ver original
  1. cen.setVisible(true);
  2. ob.setVisible(true);
podrías verlas.
Lo que necesitas no es crear una nueva instancia, sino usar el objeto que ya tienes y de ahí obtener los datos. ¿Cómo se logra? Con el Patrón Singleton.
Busca en Google, hay mucha información.
Te dejo un poco de código para que te orientes. Debes modificar la clase Censo y la clase Observacion de la siguiente manera:
Código Java:
Ver original
  1. public class Censo extends Jframe
  2. {
  3.     // Esta será la única instancia de la clase Censo
  4.     private static Censo instance;
  5.  
  6.     // Constructor privado, para evitar que se creen instancias
  7.     // nuevas desde fuera de la clase
  8.     private Censo()
  9.     {
  10.          super();
  11.          // todo el código que necesites en tu constructor
  12.          // ...
  13.          // ...
  14.          // ...
  15.     }
  16.  
  17.     // Este método te devolverá siempre la misma instancia, así podrás acceder
  18.     // a sus datos desde cualquier parte de la aplicación
  19.     public static Censo getInstance()
  20.     {
  21.             if (instance == null) {
  22.                 // La primera vez que se llame a este método,
  23.                 // la instancia es nula por lo cual se crea por primera y única vez.
  24.                 instance = new Censo();
  25.             }
  26.             return instance; // Y devuelve siempre la misma instancia :)
  27.     }
  28. }
Y en la clase Clientes, modificar las siguientes líneas:
Código Java:
Ver original
  1. Censo cen = new Censo();
  2. Observacion ob = new Observacion();
por estas:
Código Java:
Ver original
  1. Censo cen = Censo.getInstance();
  2. Observacion ob = Censo.getInstance();