eventos en java

austral
27 de Marzo del 2006
Hola amigos, me gustaria plantearos una pequeña duda sobre los eventos en java, espero me la podais aclarar:D:

¿¿se puede crear un Frame de Java que implementee dos interfaces Listener diferentes, para asi poder responder a dos tipos de eventos distintos???
mi idea seria algo asi:
public class ........
extends JFrame
implements ActionListener, extends KeyAdapter {


Gracias de antemano........un saludo, ciao:D


miguel.angel
27 de Marzo del 2006
Seria algo asi

public class MiClase extends JFrame implements ActionListener, KeyAdapter{
}

Una clase puede implementar tantos interfaces como quiera, pero solamente puede heredar de una clase

chuidiang
27 de Marzo del 2006
Hola:

Puedes hacerlo. KeyAdapter es una clase, así que no puedes heredar a la vez de JFrame y KeyAdapter. En su lugar, deberías usar la interface que es KeyListener.

public class ... extends JFrame implements ActionListener, KeyListener

Se bueno.

austral
27 de Marzo del 2006
El problema es que la interfaz KeyListener tiene tres metodos y a mi solo me interesa uno(keyPressed), tendria que definir los otros dos a vacio y eso no me parece muy elegantee no?

Y si quisiera usar na interdaz que implementase muchos metodos y solo me interesase uno de ellos, tendria que definir todos los demas metodos a vacio no? En ese caso si que seria poko elegante no kreeis?

¿Se podria usar una clase anonima??

En cualquier caso muchas gracias a los dos:D

austral
27 de Marzo del 2006
Hola de nuevo:D,
una vez resuelto el problema de los eveentos multiples, lo he echo como dice chuidiang, me encuentro con otro problemilla, a ver si me ppodeis echar una mano:

no se donde llamar al metodo addKeyListener, ¿Al final del metodo main()?¿Denmtro del constructor de la clase?

¿Seria algo asi?
public class MiClase
extends JFrame
implements ActionListener,KeyListener {
public static void main(String[] s) { MiClase X=new XiClase( ); addKeyListener( X );
}

bien,. gracias dde nuevo.....saludos,ciao