Article View: es.comp.lenguajes.java
Article #29136Re: Necesitamos ayuda urgente en paso de eventos entre dialogos
From: Pablo Lanza
Date: Fri, 16 Jan 1998 00:00
Date: Fri, 16 Jan 1998 00:00
89 lines
3067 bytes
3067 bytes
Hola.
On Thu, 15 Jan 1998 13:42:36 +0100, "Francesc Monfort"
<fmonfort@arrakis.es> wrote:
>Gracias por leer el mensaje.
>
>Nuestro problema es que hemos generado un dialogo, este a su vez genera otro
>dialogo el cual no es dependiente del anterior (�Se puede hacer
>dependiente?).
No puedes hacer eso.
>En este ultimo se genera un evento, pero el evento no se
>propaga al primer dialogo, ya que para generar el segundo hemos construido
>un frame auxiliar, ya que los dialogos deben depender de un frame.
No necesitas crear un frame para cada dialogo que muestres y mas si
desde uno generas otro con lo cual el Frame del que dependen es el
mismo.
>Ya se que es un poco lioso, pero es que no conseguimos que desde un dialogo
>se genere otro y los eventos producidos en este ultimo se propaguen al
>primero.
Imaginate que tienes un dialogo y desde este generas otro tienes que
indicarle a este �ltimo a quien pasarle los eventos que reciba, algo
asi como: new dialogo(d1)
>Si sabes alguna cosilla , por minuscula que esta sea, dinosla, GRACIAS.
>
>PD: Es para una practica de la Universidad
Aqui abajo tienes un programilla que hace lo que planteabas, puedes
construir los dialogos que quieras, pero cuando pulses un boton el
dialogo se destruye y el evento se propagar� hacia arriba.
import java.awt.*;
public class ejemplo extends Frame
{
public static ejemplo e;
public static void main(String args[])
{
e=new ejemplo();
dialogo d=new dialogo(null);
}
}
class dialogo extends Dialog
{
private Button b1;
private Button b2;
private Dialog padre;
dialogo(Dialog padre)
{
super(ejemplo.e);
this.padre=padre;
reshape(0,0,400,200);
b1=new Button("Construye otro dialogo");
b2=new Button("Destruye a mis padres");
//se que suena radical pero no se me ocurria mas
this.setLayout(new FlowLayout());
add(b1);
add(b2);
this.setTitle("desciendo de "+padre);
show();
}
public boolean action(Event evt,Object obj)
{
System.out.println(this.getName()+" capturando un evento");
if(evt.target==b1)
new dialogo(this);
else
{
dispose();
if (padre!=null)
return(padre.action(evt,b2));
}
return true;
}
}
Un saludo.
Technical Details
Message-ID:
<34bf4012.923828@noticias.ibernet.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<34be04ec.0@news.arrakis.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 1116f3,c0feaa98cfe72d49 X-Google-Attributes: gid1116f3,public From: plm@bbs.mundivia.es (Pablo Lanza) Subject: Re: Necesitamos ayuda urgente en paso de eventos entre dialogos Date: 1998/01/16 Message-ID: <34bf4012.923828@noticias.ibernet.es> X-Deja-AN: 316512728 Content-Transfer-Encoding: 8bit References: <34be04ec.0@news.arrakis.es> Content-Type: text/plain; charset=ISO-8859-1 Organization: Unisource Espana NEWS SERVER Mime-Version: 1.0 Reply-To: plm@bbs.mundivia.es Newsgroups: es.comp.lenguajes.java