Article View: es.comp.lenguajes.java
Article #26273Re: Nuevos Eventos
From: Jonathan Revusky
Date: Tue, 19 Jan 1999 00:00
Date: Tue, 19 Jan 1999 00:00
71 lines
2790 bytes
2790 bytes
Rehm wrote:
>
> On Tue, 19 Jan 1999 12:36:00 +0100, Jonathan Revusky <jrevusky@jet.es>
> wrote:
>
> >
> >Hay un ensayo sobre el modelo de eventos del JDK 1.1 al cual se puede
> >acceder a traves de mi p�gina (el URL en mi firma abajo.) No lo he
> >escrito yo. Lo traduje. El ensayo es de Roedy Green.
>
> Ya lo habia leido. El articulo es bastante denso.
T� has dicho: "que trate eventos en profundidad." :-)
Otra opci�n es simplemente mirar el c�digo del java.awt.* y
java.awt.event.* y modelar tu propio c�digo a base de eso. Todo el
c�digo est� en src.zip en la distribuci�n del JDK.
Bueno, eso m�s denso que leer el ensayo, supongo.
Mira, aqu� hay 4 etapas.
(1) Necesitas definir tu evento. Puede ser una subclase de
java.util.EventObject.
public class MiEvento extends EventObject {
public MiEvento(Algo source) {
this.source = source;
}
}
(2) Defines una interfaz con el nombre de MiEventoListener. Puede tener
un m�todo o m�s. Digamos que s�lo tiene uno.
public MiEventoListener {
public void algoOcurre(MiEvento evento);
}
(3) En los objetos que son fuentes del evento, creas los m�todos
addXXXListener y removeXXXListener. Tienes un contenedor, digamos un
Vector, que sirve para guardar los objetos que son listeners.
public void addMiEventoListener(MiEventoListener listener) {
listeners.addElement(listener);
}
public void removeMiEventoListener(MiEventoListener listener) {
listeners.removeElement(listener);
}
(4) y tienes un m�todo que se llama fireMiEvento(miEvento)
protected void fireMievento(miEvento evento) {
Enumeration enum = listeners.clone().elements();
while (enum.hasMoreElements() {
MiEventoListener l = (MiEventoListener) enum.nextElement();
l.algoOcurre(evento);
}
}
Espero que esto te sea �til.
Jonathan Revusky
--
Java and Delphi Consulting
Make your .class files double-clickable
with SmartJ
http://www.bigfoot.com/~crystalline.solutions
Technical Details
Message-ID:
<36A4A2A6.1D5D3AD6@jet.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<36a31f4f.20082697@news.bcn.ttd.net> <36A46E20.61C8123F@jet.es> <36a4978e.39892782@news.bcn.ttd.net>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 1116f3,9c6533ba9b909cd5 X-Google-Attributes: gid1116f3,public From: Jonathan Revusky <jrevusky@jet.es> Subject: Re: Nuevos Eventos Date: 1999/01/19 Message-ID: <36A4A2A6.1D5D3AD6@jet.es> X-Deja-AN: 434432286 Content-Transfer-Encoding: 8bit References: <36a31f4f.20082697@news.bcn.ttd.net> <36A46E20.61C8123F@jet.es> <36a4978e.39892782@news.bcn.ttd.net> X-Accept-Language: en Content-Type: text/plain; charset=iso-8859-1 X-Complaints-To: usenet@lola.ctv.es X-Trace: lola.ctv.es 916759317 21365 195.55.157.142 (19 Jan 1999 15:21:57 GMT) Organization: CTV/JET Mime-Version: 1.0 Reply-To: jrevusky@bigfoot.com NNTP-Posting-Date: 19 Jan 1999 15:21:57 GMT Newsgroups: es.comp.lenguajes.java