Como puedo tener 1 ventana(o clase) global

Iniciado por SrTrp, 7 Marzo 2019, 06:27 AM

0 Miembros y 1 Visitante están viendo este tema.

SrTrp

A lo que me refiero con una ventana global(que siempre este trabajando) es decir tengo un jframe que lo abro(en teoria no se abre la hago visible) con la clase principal de mi proyecto así:
Código (java) [Seleccionar]

Formprin frm = new Formprin();
        frm.setVisible(true);

pero quiero conservar ese objeto ya que al crearlo tengo varias variables globales.
Ahora en ese form tengo un boton que hace lo siguiente:
Código (java) [Seleccionar]

Form2 ft = new Form2 ();
        ft.setVisible(true);
        ft.setTitle("Abrio : "+this.contador+">");
        this.contador++;
        this.setVisible(false);

aqui todo bien hago visible mi otro formulario y invisible el formulario principal ahora cuando lo cierro el otro formulario quiero que se vuelva visible el principal pero en teoria debería llevar el contador 1 pero no lo hace sigue en 0 pero esto lo se por que creo otro objeto, y aqui es a lo que va mi pregunta como podria hacer esto solo se me ocurre desechar cada vez el objeto y pasarme todos los datos de variable de un lado hacia otro..

rub'n

#1
Mmmm, me suena a aun Simple Singleton (double checked locking) :P, logrando que la instancia del formulario que desees se mantenga durante toda la vida de la app

Código (java) [Seleccionar]

   private TuForm() {}
   private static volatile TuForm instance;
   public static TuForm getInstance() {
       if(Objects.isNull(instance)) {
           synchronized (TuForm.class) {
               if(Objects.isNull(instance)) {
                   instance = new TuForm();
               }
           }
       }
       return instance;
   }


Cuando instancies solo haz

Código (java) [Seleccionar]
final TuForm form = TuForm.getInstance();


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen