• Viernes 8 de Noviembre de 2024, 02:27

Autor Tema:  Insertar objetos de una clase dentro de un fichero  (Leído 2957 veces)

turicuen

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Insertar objetos de una clase dentro de un fichero
« en: Domingo 10 de Agosto de 2008, 17:51 »
0
A las buenas, me gustaria guardar objetos de una clase dentro de un fichero.


Código: Text
  1.  
  2.  
  3. public static void escribir(){
  4.        Cliente [] clientes= new Cliente[2];
  5.        clientes[1]=new Cliente("Juan Hernandez ");
  6.        clientes[2]=new Cliente("Sergio Ruiz");
  7.        try{
  8.             ObjectOutputStream ous = new ObjectOutputStream(new FileOutputStream(f));
  9.            for(int i=0;i<2;i++){
  10.                ous.writeObject(clientes[i]);
  11.                 }//fin del for
  12.         }//fin del try
  13.        catch(FileNotFoundException e){
  14.            System.out.println("FileNotFoundException"+ e);
  15.        }
  16.        catch(IOException e){
  17.            System.out.println("IOException"+e);
  18.        }
  19.     }
  20.  

El problema que tengo es que no me deja me dice que ObjetOutpuStream no es static.

Alguien sabe como podria resolverlo o como puedo pasar objetos de una clase a un fichero.

manix

  • Miembro MUY activo
  • ***
  • Mensajes: 203
  • Nacionalidad: cr
    • Ver Perfil
    • http://apuntes.delibertad.com
Re: Insertar objetos de una clase dentro de un fichero
« Respuesta #1 en: Domingo 10 de Agosto de 2008, 21:09 »
0
Entonces no declara el metodo estatico y dejalo asi:
Código: Java
  1. public void escribir(){
  2.  

saludos

turicuen

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Insertar objetos de una clase dentro de un fichero
« Respuesta #2 en: Domingo 10 de Agosto de 2008, 23:59 »
0
Lo primero gracias por contestarme, pero ya lo hice, y entonces me salieron un monton de errores,
Citar
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Código: Text
  1.  at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
  2.         at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
  3.         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
  4.         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
  5.         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
  6.         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
  7.         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
  8.         at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
  9.  
  10.  

El problema es que no se porque salen los errores.

shadow_rev

  • Miembro MUY activo
  • ***
  • Mensajes: 397
  • Nacionalidad: co
  • Un SPARTAN no muere en combate
    • Ver Perfil
    • http://shadowrev.blogspot.com
Re: Insertar objetos de una clase dentro de un fichero
« Respuesta #3 en: Lunes 11 de Agosto de 2008, 17:16 »
0
Echando un rápido vistazo a tu código me he dado cuenta de que en las líneas de la 4 a la 6, declaras un array de 2 posiciones y guardas objetos de tipo Cliente en las posiciones 1 y 2. Deberías de guardarlos en las posiciones 0 y 1, ya que el bucle que haces más abajo (en la línea 9), busca el índice 0 del array y te puede disparar el error.

:suerte:
Volará quien le ponga alas a sus sueños (Candidate for goddess)
Si el mal existe en este mundo, reside en el corazón de la humanidad (Edward D. Morrison - Tales of Phantasia)
Lo único que puedes cambiar del pasado, es lo que sientes por él en el presente (Lockon Stratos - Mobile Suit Gundam 00)
Ingeniero de Sistemas

turicuen

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Insertar objetos de una clase dentro de un fichero
« Respuesta #4 en: Lunes 11 de Agosto de 2008, 23:33 »
0
Ya esta solucionado!!! El verdadero problema residia en que tenia que hacer un cast de aux (que estaba definido como un objeto) a un objeto de la clase persona!!!. Y si por supuesto el array estaba mal definido, no era de 1-2, sino de 0-1.


Ahora tengo una duda, como puedo invocar un Jdialog desde un JFrame, es decir tengo un JFrame con un JButton y quiero que al pinchar uno de los botones me muestre el Jdialog. Ya se que es
Código: Text
  1. void JBotton1(java.awt.event.MouseEvent evt) {
  2. }
  3.  

Pero que es lo que tiene que ir dentro de esa funcion.

shadow_rev

  • Miembro MUY activo
  • ***
  • Mensajes: 397
  • Nacionalidad: co
  • Un SPARTAN no muere en combate
    • Ver Perfil
    • http://shadowrev.blogspot.com
Re: Insertar objetos de una clase dentro de un fichero
« Respuesta #5 en: Martes 12 de Agosto de 2008, 20:12 »
0
A la instancia del JDialog le das la orden setVisible(true):
Código: Text
  1. //...
  2. objeto_jdialog.setVisible(true);
  3. //...
  4.  
Si lo quieres cerrar, es lo mismo pero con false

:suerte:
Volará quien le ponga alas a sus sueños (Candidate for goddess)
Si el mal existe en este mundo, reside en el corazón de la humanidad (Edward D. Morrison - Tales of Phantasia)
Lo único que puedes cambiar del pasado, es lo que sientes por él en el presente (Lockon Stratos - Mobile Suit Gundam 00)
Ingeniero de Sistemas

chuidiang

  • Miembro MUY activo
  • ***
  • Mensajes: 123
  • Nacionalidad: es
    • Ver Perfil
    • http://www.chuidiang.com
Re: Insertar objetos de una clase dentro de un fichero
« Respuesta #6 en: Jueves 14 de Agosto de 2008, 12:37 »
0
Hola:

Salvo que quieras que se abra la ventana con algún evento raro (click con el botón derecho, doble click, etc) lo normal es usar button.addActionListener (ActionListener).
Aquí tienes un ejemplo de cómo abrir un JDialog desde un JFrame.

Se bueno.

turicuen

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Insertar objetos de una clase dentro de un fichero
« Respuesta #7 en: Viernes 15 de Agosto de 2008, 00:16 »
0
Solucionado, ahora mi problema es que al cerrar el jFrame que acabo de invocar me cierra toda la aplicacion.

chuidiang

  • Miembro MUY activo
  • ***
  • Mensajes: 123
  • Nacionalidad: es
    • Ver Perfil
    • http://www.chuidiang.com
Re: Insertar objetos de una clase dentro de un fichero
« Respuesta #8 en: Viernes 15 de Agosto de 2008, 08:48 »
0
Hola:

Al JFrame llama a su metodo frame.setDefaultCloseOperation() y como parámetro pásale la constante que quieras de la clase WindowConstants, por ejemplo WindowConstants.HIDE_ON_CLOSE para hacer que se oculte.

Se bueno.

turicuen

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Insertar objetos de una clase dentro de un fichero
« Respuesta #9 en: Viernes 15 de Agosto de 2008, 12:27 »
0
Gracias otra vez por la respuesta y sobre todo por la rapidez. Gracias!!!

turicuen

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Insertar objetos de una clase dentro de un fichero
« Respuesta #10 en: Viernes 15 de Agosto de 2008, 18:42 »
0
Ahora tengo un problemilla con un jTable, quiero cambiar el color de una celda o de una fila, mejor si puede ser de una fila.
No me da error pero tampoco hace nada. Como puedo cambiar el color de una celda o una fila segun el valor de result.getString(2)

Código: Text
  1. public void free(){
  2.         try {
  3.             sentens = conectar.createStatement();
  4.             result = sentens.executeQuery("select * from base");
  5.             while (result.next()) {            
  6.                if( 1==(Integer.parseInt(result.getString(2)))){                
  7.                           setBackground(Color.GREEN);
  8.                           }//fin if
  9.                else{
  10.                           setBackground(Color.RED);
  11.                     }  //fin else              
  12.                }//fin while
  13.           } //fin try
  14.          catch (Exception error) {
  15.            } //fin catch        
  16.     }
  17.  

chuidiang

  • Miembro MUY activo
  • ***
  • Mensajes: 123
  • Nacionalidad: es
    • Ver Perfil
    • http://www.chuidiang.com
Re: Insertar objetos de una clase dentro de un fichero
« Respuesta #11 en: Sábado 16 de Agosto de 2008, 08:54 »
0
Hola:

Aquí tienes un ejemplo de cómo cambiar los colores de fondo de una celda de un JTable. Para cambiar la fila, tendrás que cambiar las celdas de dicha fila de una en una.

Se bueno.

turicuen

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Insertar objetos de una clase dentro de un fichero
« Respuesta #12 en: Martes 19 de Agosto de 2008, 09:10 »
0
Gracias a todos por vuestras repuestas, pero ahora si que necesito de vosotros mas ayuda que nunca.
A ver ayer estaba terminando el proyecto con netbeans cuando se fue la luz!!! Pues bien ahora cualquier cambio o modificación que haga en mi proyecto no se muestra!!!. Si yo cambio el codigo cuando compilo me sigue compilando lo mismo. Lo mismo!!! No me hace ningun cambio!!. He probado a desinstalar y volver a instalar netbeans, he probado en otro ordenador y sigue igual. Que puedo hacer???? Ayuda!!!!