Foro de elhacker.net

Programación => Java => Mensaje iniciado por: latinoalfredo en 21 Noviembre 2013, 23:05 pm



Título: Interfaz Grafica Java
Publicado por: latinoalfredo en 21 Noviembre 2013, 23:05 pm
Hola
Estoy haciendo una interfaz grafica swing para java, y me gustaria preguntar si hay algun metodo
para que me precargue los jframes ya que cuando hago una ventana con bastantes opciones tarda unos segundos en abrir.
La opcion que se me ocurrio es hacer un .setVisible(true); .setvisible(false), pero se ven las ventanas y no queda bonito.
Por eso pregunto si hay una opcion para que cargue todo al principio y luego no tener que esperar al abrir cada menu, al igual que hacen muchos programas en java como netbeans.


Título: Re: Interfaz Grafica Java
Publicado por: Mitsu en 22 Noviembre 2013, 00:59 am
¿Lo que deseas es cargar en memoria todos los módulos de tu aplicación desde el principio?

Al parecer tienes problemas de rendimiento, eso no es problema de Java, si no de los algoritmos. Analiza tus algoritmos con Big O para que puedas hacer más eficiente tus algoritmos.

Si optas por la misma opción, vas a sobrecargar la aplicación con módulos innecesarios, como tener el JDialog de opciones abierto todo el tiempo, que consumirá ram en todo el tiempo que la aplicación esté ejecutándose.

Si accedes por esto último, en StackOverFlow te darán una respuesta muy acertada.


Saludos.


Título: Re: Interfaz Grafica Java
Publicado por: egyware en 22 Noviembre 2013, 17:10 pm
Código
  1. JFrame frame = null;
  2. //....
  3. public JFrame showFrame()
  4. {
  5.   if(frame == null)
  6.   {
  7.      frame = new JFrame();
  8.   }
  9.   frame.setVisible(true);
  10.   return frame;
  11. }

Una ligera modificación al Patrón Singleton

PS: Ahora leí este post Mitsu :P


Título: Re: Interfaz Grafica Java
Publicado por: latinoalfredo en 25 Noviembre 2013, 08:38 am
Muchas gracias, pero ya tenia un metodo similar. Tengo un metodo que inicializa las ventanas similar a ese pero sigo teniendo retardo. Las funciones que les tengo a mis botones son bastantes simple como mucho de O(n). Donde si noto retardo (2 segundos como mucho) es a la hora de hacer el primer setVisible(true), y no son ventanas que hagan mucho algunas son dos entradas de texto con un simple boton con if/else. Por eso preguntaba si habria un modo de ir cargandolas en memoria antes tipo, cuando se habra un JFrame que cargue los siguientes a los que puede acceder desde ahi.