Foros del Web » Programación para mayores de 30 ;) » Java »

los jframes no salen

Estas en el tema de los jframes no salen en el foro de Java en Foros del Web. Hola tengo una aplicacion que lanza continuamente frames cada vez que se pulsan teclas y se producen eventos, todos los frames tienen imagenes de fondo ...
  #1 (permalink)  
Antiguo 02/09/2008, 13:28
 
Fecha de Ingreso: agosto-2008
Mensajes: 96
Antigüedad: 15 años, 8 meses
Puntos: 3
los jframes no salen

Hola tengo una aplicacion que lanza continuamente frames cada vez que se pulsan teclas y se producen eventos, todos los frames tienen imagenes de fondo y cosas asi, y cuando lleba un momento que ya han salio muchisimos frames dejan de pintarse los fondos y despues cuando pasa eso un rato ya los frames dejan de salir, y e visto que el proceso java.exe me comia unos 370 megas, nose xq puede ser esto, si yo al hacer el this.setVisible(false); a continuacion pong un this.dispose(); para liberar la memoria que ocupa el jframe mas rapidamente...
Alguine sabe de que puede ser y como puedo salvar ese problema...
  #2 (permalink)  
Antiguo 02/09/2008, 13:34
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: los jframes no salen

mira yo creo q al ponerlos como no visibles igual estan corriendo. asi volques la memoria tu no estas cerrando los otros frames, simplemente los estas dejando invisibles. debes de cerrarlos y hacer el dispose.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #3 (permalink)  
Antiguo 02/09/2008, 13:42
 
Fecha de Ingreso: agosto-2008
Mensajes: 96
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: los jframes no salen

cuando no pueden pintar los fondos salen estas excepciones:

Exception in thread "Image Fetcher 0" java.lang.OutOfMemoryError: Java heap space
at java.awt.image.DataBufferInt.<init>(DataBufferInt. java:41)
at java.awt.image.Raster.createPackedRaster(Raster.ja va:458)
at java.awt.image.DirectColorModel.createCompatibleWr itableRaster(DirectColorModel.java:1015)
at sun.awt.image.ImageRepresentation.createBufferedIm age(ImageRepresentation.java:235)
at sun.awt.image.ImageRepresentation.setPixels(ImageR epresentation.java:487)
at sun.awt.image.ImageDecoder.setPixels(ImageDecoder. java:120)
at sun.awt.image.JPEGImageDecoder.sendPixels(JPEGImag eDecoder.java:97)
at sun.awt.image.JPEGImageDecoder.readImage(Native Method)
at sun.awt.image.JPEGImageDecoder.produceImage(JPEGIm ageDecoder.java:119)
at sun.awt.image.InputStreamImageSource.doFetch(Input StreamImageSource.java:246)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher. java:172)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:1 36)

puede ser lobo_php, pero como hago para cerrar el jframe ya que yo siempre lo he hecho asi.. dejandolo invisible y dispose..
  #4 (permalink)  
Antiguo 02/09/2008, 13:47
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: los jframes no salen

Código:
JFrame miFrame = new JFrame();
......
miFrame.addWindowListener( new WindowAdapter() {
       public void windowClosing( WindowEvent evt ) {
            System.exit( 0 );
       }
} );
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #5 (permalink)  
Antiguo 02/09/2008, 13:58
 
Fecha de Ingreso: agosto-2008
Mensajes: 96
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: los jframes no salen

ok pero aver ese codigo lo lanzo cuando pulse el boton que cierra el jframe o como? esque aver yo tengo un JFrame padre que al darle a un boton lanzo el hijo y al darle al hijo en el boton se pone invisible.. entonces donde colocaria el codigo..
muchas gracias por tu ayuda
  #6 (permalink)  
Antiguo 02/09/2008, 14:03
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: los jframes no salen

ponelo como un metodo. si no te funciona ponelo dentro del metodo del frame o dentro del constructor o en cualqier lado pero te funciona por q te funciona
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #7 (permalink)  
Antiguo 02/09/2008, 14:10
 
Fecha de Ingreso: agosto-2008
Mensajes: 96
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: los jframes no salen

Muchas gracias ya ire probando
  #8 (permalink)  
Antiguo 02/09/2008, 14:56
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: los jframes no salen

Hola,

La sentencia System.exit(0) sirve para salir del programa completamente.
Cierra todo y descarga la Virtual Machine.

La forma que estas usando para cerrar los frames es la adecuada. El método inherited de Window, dispose() suelta toda la memoria y libera todos los recursos nativos del sistema operativo.

Pero no debes dejar ninguna variable que haga referencia (o apunte) al objeto que estas destruyendo.

Saludos.

ps : Creo que el problema radica en como creas los Frames, y si existe alguna referencia en memoria al Frame (que los guardes en una lista o array), por lo que garbage collector no libera la memoria pertinente a las imágenes etc. Pero es imposible saberlo sin ver el código.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:48.