Foro de elhacker.net

Programación => Java => Mensaje iniciado por: kinos en 27 Octubre 2009, 21:13 pm



Título: que pasos debo seguir para crear una aplicacion? SingleFrameApplication
Publicado por: kinos en 27 Octubre 2009, 21:13 pm
Stoy hecho un lio...  :o

   He hecho una aplicacion de escritorio con Netbeans. Le he puesto un splashScreen para que salga una imagen mientras se va cargando.
   La duda es, que proceso debo seguir para ir cargando la aplicación, cargar los objetos y demás que requieran mucho tiempo. Entonces cuando ya se haya concluido pasarlos de alguna forma a la parte grafica. Se lanza con launch(DesktopApplication.class, args); y en este punto es cuando debería desaparecer el splash.

Esta es la estructura que tiene mas o menos:

Código
  1. package desktopapplication2;
  2.  
  3. public class DesktopApplication2 extends SingleFrameApplication {
  4.  
  5.    @Override protected void startup() {
  6.        show(new DesktopApplication2View(this));
  7.    }
  8.  
  9.    @Override protected void configureWindow(java.awt.Window root) {
  10.    }
  11.  
  12.    public static DesktopApplication2 getApplication() {
  13.        return Application.getInstance(DesktopApplication2.class);
  14.    }
  15.  
  16.    public static void main(String[] args) {
  17.  
  18.        //se crea el splashScreen
  19.        SplashScreen splashScreen = new SplashScreen();
  20.        //lo mostramos
  21.        splashScreen.mostrar();
  22.  
  23.        //cargamos los objetos pesados, su carga requiere mucho tiempo
  24.        ObjetoA objeto = new ObjetoA();
  25.        objeto.hacerTarea();
  26.  
  27.        //splashScreen desaparece
  28.        splashScreen.desaparece();
  29.  
  30.        //*:) como paso los objetos a la aplicacion grafica-----------------------------------------
  31.  
  32.        launch(DesktopApplication2.class, args);
  33.    }
  34. }
  35.  
  36.  

DesktopApplication2View otra parte de codigo:
Código
  1. public class DesktopApplication2View extends FrameView {
  2.  
  3.    public DesktopApplication2View(SingleFrameApplication app) {
  4.        super(app);
  5.  
  6.        initComponents();
  7.        ....
  8.        }
  9.  
  10.       ....
  11.  
  12.        @Override protected void finished() {
  13.            setSaveNeeded(false);
  14.        }
  15.    }
  16. }
  17.  
  18.  

Si hay que hacerlo de otra manera corregirme por favor.


Título: Re: que pasos debo seguir para crear una aplicacion? SingleFrameApplication
Publicado por: Leyer en 27 Octubre 2009, 21:41 pm
estas hecho un lio por que estas usando netbeans por q mas :P los objetos pasalos por un constructor de la parte grafica.


Título: Re: que pasos debo seguir para crear una aplicacion? SingleFrameApplication
Publicado por: kinos en 27 Octubre 2009, 21:58 pm
Ya :P pero nose como los tengo que pasar.

Es que en esta instrucción podrias pasarle string en args, pero como paso un objeto...
launch(DesktopApplication2.class, args);

Es mas, se lo tendría que pasar a DesktopApplication2View que es lo que contiene todo no?

O deberia declarar ObjetoA como... public ObjetoA objeto; en DesktopApplication2 y acceder desde DesktopApplication2View de alguna forma?


Título: Re: que pasos debo seguir para crear una aplicacion? SingleFrameApplication
Publicado por: Leyer en 27 Octubre 2009, 22:31 pm
sii las 2 pueden funcionar pero ya depende de cada quien cual usar aunke es mas correcto que se lo pases a DesktopApplication2View  ;)
.primer paso cagar splash mostrar proceso de carga de obj.
.segundo al finalizar cargar la vista new DesktopApplication2View(obj)


Título: Re: que pasos debo seguir para crear una aplicacion? SingleFrameApplication
Publicado por: kinos en 27 Octubre 2009, 22:53 pm
Gracias. Creo que ya voy aclarandome. ;D

Igual asi... aunque lo veo redundante:

Código
  1. package desktopapplication2;
  2.  
  3. public class DesktopApplication2 extends SingleFrameApplication {
  4.  
  5.    private ObjetoA objeto;
  6.  
  7.    @Override protected void startup() {
  8.        show(new DesktopApplication2View(this, objeto));
  9.    }
  10.  
  11.    @Override protected void configureWindow(java.awt.Window root) {
  12.    }
  13.  
  14.    public static DesktopApplication2 getApplication() {
  15.        return Application.getInstance(DesktopApplication2.class);
  16.    }
  17.  
  18.    public static void main(String[] args) {
  19.  
  20.        //se crea el splashScreen
  21.        SplashScreen splashScreen = new SplashScreen();
  22.        //lo mostramos
  23.        splashScreen.mostrar();
  24.  
  25.        //cargamos los objetos pesados, su carga requiere mucho tiempo
  26.        objeto = new ObjetoA();
  27.        objeto.hacerTarea();
  28.  
  29.        //splashScreen desaparece
  30.        splashScreen.desaparece();
  31.  
  32.        //*:) como paso los objetos a la aplicacion grafica-----------------------------------------
  33.        //los pasas en el startup()
  34.  
  35.        launch(DesktopApplication2.class, args);
  36.    }
  37. }
  38.  

Lo que no mola es que el objeto "private ObjetoA objeto;" tiene que estar en la clase DesktopApplication2 y en la DesktopApplication2View. Eso es feo :huh:


Título: Re: que pasos debo seguir para crear una aplicacion? SingleFrameApplication
Publicado por: Leyer en 27 Octubre 2009, 23:04 pm
 ::) jajaj claro que no .estas trabajando con objetos y de manera modular entonces esa seria la forma correcta.