Interacción con GUIs
Delegation Event Model Fuente EVENTO Oyente suscripción Fuente Oyente suscripción EVENTO Adaptador EVENTO
java.lang.object java.util.eventobject java.awt.awtevent java.awt.event. ActionEvent AdjustmentEvent ComponentEvent ItemEvent TextEvent FocusEvent InputEvent ContainerEvent WindowEvent KeyEvent MouseEvent
ActionListener ItemListener MouseListener MouseMotionListener KeyListener FocusListener AdjustmentListener ComponentListener WindowListener ContainerListener TextListener actionperformed(actionevent) itemstatechanged(itemevent) mousepressed) mousereleased) mouseentered) mouseexited) mouseclicked) mousedragged) mousemoved) keypressed(keyevent) keyreleased(keyevent) keytyped(keyevent) focusgained(focusevent) focuslost(focusevent) adjustmentvaluechanged(adjustmentevent) componentmoved(componentevent) componenthidden(componentevent) componentresized(componentevent) componentshown(componentevent) windowclosing(windowevent) windowopened(windowevent) windowiconified(windowevent) windowdeiconified(windowevent) windowclosed(windowevent) windowactivated(windowevent) windowdeactivated(windowevent) componentadded(containerevent) componentadded(containerevent) textvaluechanged(textevent)
import import java.awt.*; java.awt.*; DelegationEvenModeTest DelegationEvenModeTest FrameEmisor FrameEmisor extends extends Frame Frame Button Button boton; boton; static static main(string[ main(string[ ] ] args) args) FrameEmisor() FrameEmisor() boton boton = = new new Button Button ("Púlsame"); FrameEmisor ("Púlsame"); FrameEmisor fe=new fe=new FrameEmisor(); FrameEmisor(); add add (boton); (boton); fr=new fr=new (fe); (fe); setvisible(true); setvisible(true); fr2=new fr2=new (fe); (fe); pack(); pack(); import import java.awt.*; java.awt.*; import import java.awt.event.*; java.awt.event.*; extends extends java.awt.frame java.awt.frame implements implements MouseListener MouseListener private private int int toques=0; toques=0; Label Label etiqueta etiqueta (FrameEmisor (FrameEmisor f) f) etiqueta etiqueta = = new new Label Label ("El ("El botón botón no no se se ha ha pulsado pulsado ni ni una una sola sola vez"); vez"); add add (etiqueta); (etiqueta); setvisible(true); setvisible(true); pack(); pack(); MouseListener f.boton.addmouselistener(this); f.boton.addmouselistener(this); Suscripción mouseclicked mouseclicked (java.awt.event.mouseevent (java.awt.event.mouseevent etiqueta.settext etiqueta.settext ("El ("El botón botón se se ha ha pulsado pulsado "+(++toques)+((toques==1)?" "+(++toques)+((toques==1)?" vez":" vez":" veces")); veces")); mousepressed mousepressed mousereleased mousereleased mouseentered mouseentered mouseexited mouseexited
import java.awt.*; EjemploMensaje extends java.awt.panel Listener EjemploMensaje() initcomponents (); private initcomponents () label1 = new java.awt.label (); panel1 = new java.awt.panel (); button1 = new java.awt.button (); setlayout (new java.awt.borderlayout ()); Source label1.setfont (new java.awt.font ("Book Antiqua", 2, 14)); label1.setname ("label6"); label1.setbackground (new java.awt.color (204, 204, 204)); label1.setforeground (java.awt.color.black); label1.settext ("El bot\u00f3n no se ha pulsado ni una sola vez"); label1.setalignment (java.awt.label.center); add (label1, java.awt.borderlayout.center); panel1.setfont (new java.awt.font ("Dialog", 0, 11)); panel1.setname ("panel8"); panel1.setbackground (new java.awt.color (204, 204, 204)); panel1.setforeground (java.awt.color.black); button1.setfont (new java.awt.font ("Arial", 1, 14)); button1.setlabel ("P\u00falsame"); button1.setname ("button6"); button1.setbackground (new java.awt.color (255, 0, 51)); button1.setforeground (java.awt.color.white); (continúa...)
Source button1.addmouselistener ( nuevo objeto MouseAdapter definido aquí mismo ); Adapter sin nombre button1.addmouselistener (new java.awt.event.mouseadapter () mouseclicked (java.awt.event.mouseevent button1mouseclicked (; ); El oyente del adapter es el panel1.add (button1); propio Panel add (panel1, java.awt.borderlayout.north); private button1mouseclicked (java.awt.event.mouseevent label1.settext ("El botón se ha pulsado "+(++toques)+((toques==1)?" vez":" veces")); private java.awt.label label1; private java.awt.panel panel1; private java.awt.button button1; private int toques=0; button1 Rutina oyente del adaptador em1 (EjemploMensaje) ewt Sin nombre ewt
FrameTEst extends java.awt.frame FrameTEst() initcomponents (); ejm=new EjemploMensaje(); add(ejm); pack (); private initcomponents () addwindowlistener (new java.awt.event.windowadapter () windowclosing (java.awt.event.windowevent exitform (; ); private exitform(java.awt.event.windowevent System.exit (0); static main (String args[]) new FrameTEst ().show (); EjemploMensaje ejm;