[eside-ghost] Swing, threads y demás
Alexandre Paz Mena
erzapito en gmail.com
Vie Feb 29 19:44:40 CET 2008
Saúl Ibarra escribió:
> Hoola!
>
> Tengo una dudilla aquí con mi amigo swing, y me surge el siguiente problema:
>
> Reduciendolo es básicamente esto: tengo una ventana (A) y quiero que
> al hacer click en un botón se me abra otra (B), pero que si le hago
> click cuando ya se encuentra abierta no haga nada.
>
> En el main lanzo 2 ventanas, A y C, casda una en un hilo, de la
> siguiente manera:
>
> SwingUtilities.invokeAndWait(new Runnable() {
> public void run() {
> ventana = new V1();
> ventana.setVisible(true);
> }
> });
>
> Donde "ventana" es un atributo estático de una clase
> VentanaController, que me saca la ventana sin más.
>
> Si desde el main llamo 2 veces a pintar la misma ventana si que puedo
> comprobar si ventana es null o ya la heninicializado, PERO, si ejecuto
> ese trozo de código desde el action listener del botón, me da un super
> error "Cannot call invokeAndWait from the event dispatcher thread".
>
> He estado leyendo la web de 'concurrency in swing' y tal, pero no me
> queda claro como hacer lo que pretengo...
>
>
> Espero haberme explicado :) Thnx!
>
>
>
Si te pudieses explicar un poco mejor en lo que quieres hacer, es que no
entiendo muy bien lo que intentas hacer con esto.
Más información sobre la lista de distribución eside-ghost