viernes, 7 de febrero de 2014

Clase ComponentEvent

Los eventos ComponentEvent se generan cuando un Component de cualquier tipo se muestra, se oculta, o cambia de posición o de tamaño. Los eventos de mostrar u ocultar ocurren cuando se llama al método setVisible(boolean) del Component. pero no cuando se minimiza la ventana. Otro método útil de la clase ComponentEvent es Component getComponentf) que devuelve el componente que generó el evento. Se puede utilizar en lugar de getSourceQ.

jueves, 6 de febrero de 2014

Clases EventObject y AWTEvent

Todos los métodos de las interfaces Listener relacionados con el AWT tienen como argumento único un objeto de alguna clase que desciende de la clase java.awt.AWTEvent (ver Figura 5.2. en la página 89). 
La clase AWTEvent desciende de java.utilEventObject. La clase AWTEvent no define ningún método, pero hereda de EventObject el método getSourcef): Object getSource(); que devuelve una referencia al objeto que generó el evento. Las clases de eventos que descienden de A WTEvent definen métodos similares a getSource() con unos valores de retomo menos genéricos. Por ejemplo, la clase ComponentEvent define el método getComponentf), cuyo valor de retomo es un objeto de la clase Component.

miércoles, 5 de febrero de 2014

Clase Component

La clase Component es una clase abstract de la que derivan todas las clases del AWT. según el diagrama mostrado previamente en la Figura 5.1. en la página 89. Los métodos de esta clase son importantes porque son heredados por todos los componentes del AWT. La Tabla 5.4 muestra algunos de los métodos más utilizados de la clase Component. En las declaraciones de los métodos de dicha clase aparecen las clases Point. Dimensión y Rectangle. La clase java.awt.Point tiene dos variables miembro int llamadas * ey. La clase java.awt.Dimension tiene dos variables miembro int: height y width. La clase java. an t.Rectangle tiene cuatro variables int: height. width, A* e y.Las tres son sub-clases de Object. Además de los métodos mostrados en la Tabla 5.4. la clase Component tiene un gran número de métodos básicos cuya funcionalidad puede estudiarse mediante la documentación on-line de Java. Entre otras funciones, permiten controlar los colores. las fonts y los cursores. 
A continuación se describen las clases de eventos más generales, relacionados bien con la clase Component. bien con diversos tipos de componentes que también se presentan a continuación.

martes, 4 de febrero de 2014

COMPONENTES Y EVENTOS

En este Apartado se van a ver los componentes gráficos de Java, a partir de los cuales se pueden construir interfaces gráficas de usuario. Se verán también, en paralelo y lo más cerca posible en el texto, las diversas clases de eventos que pueden generar cada uno de esos componentes.
La Figura 5.3. tomada de uno de los ejemplos de Java Tu tonal de Sun. muestra algunos componentes del AWT. En ella se puede ver un menú. una superficie de dibujo o canvas en la que se puede dibujar y escribir texto, una etiqueta, una caja de texto y un área de texto, un botón de comando y un botón de selección, una lista y una caja de selección desplegable.

lunes, 3 de febrero de 2014

Clases Adapter - III

Obsérvese que el objeto event listener se crea justamente en el momento de pasárselo como argumento al método addWindon-Listener(). Se sabe que se está creando un nuevo objeto porque aparece la palabra new. Debe tenerse en cuenta que no se está creando un nuevo objeto de Win don Adapter (entre otras cosas porque dicha clase es abstract). sino extendiendo la clase Win don Adapter. aunque la palabra extends no aparezca. Esto se sabe por las llaves que se abren al final de la línea 10. Los paréntesis vacíos de la línea 10 podrían contener los argumentos para el constructor de WindonAdapter. en el caso de que dicho constructor necesitara argumentos. En la sentencia 11 se redefine el método windowClosingQ. En la línea 12 se cierran las llaves de la clase anónima, se cierra el paréntesis del método addWin dowListenerQ y se pone el punto y coma de terminación de la sentencia que empezó en la línea 10. Para más información sobre las clases anónimas ver el Apartado 3.10.4. en la página 59.

domingo, 2 de febrero de 2014

Clases Adapter - II

Las sentencias 15-17 definen una clase auxiliar (helper class) que deriva de la clase Win dowAdapter. Dicha clase hereda definiciones vacías de todos los métodos de la interface Windon'Listener. Lo único que tiene que hacer es redefinir el único método que se necesita para cerrar las ventanas. El constructor de la clase VentanaCerrable crea un objeto de la clase CerrarVentana en la sentencia 10 y lo registra como event listener en la sentencia 11. En la sentencia 11 la palabra this es opcional: si no se incluye, se supone que el event source es el objeto de la clase en la que se produce el evento, en este caso la propia ventana. 

Todavía hay otra forma de responder al evento que se produce cuando el usuario desea cerrar la ventana. Las clases anónimas de Java son especialmente útiles en este caso. En realidad, para gestionar eventos sólo hace falta un objeto que sea registrado como event listener y contenga los métodos adecuados de la interface Listener. Las clases anónimas son útiles cuando sólo se necesita un objeto de la clase, como es el caso. La nueva definición de la clase VentanaCerrable podría ser como sigue:

1.    // Fichero VentanaCerrable3.java
2 .   import j ava.awt.*;
3.    import java.awt.event.*;
4.   class VentanaCerrable3 extends Frame {
5.      // constructores
6.      public VentanaCerrable3() { super(); }
7.      public VentanaCerrable3(String title) {
3.      super(title);
9.         setSize(500,500);
10.        this.addWindowListener(new WindowAdapter() {
11.                            public void windowClosing() {System.exit(0);}
12.                         >);
13.                         }
14.
} // fin de la clase VentanaCerrable

sábado, 1 de febrero de 2014

Clases Adapter - I

Java proporciona ayudas para definir los métodos declarados en las interfaces Listener. Una de estas ayudas son las clases Adapter. que existen para cada una de las interfaces Listener que tienen más de un método. Su nombre se construye a partir del nombre de la interface, sustituyendo la palabra "Listener' por "Adapter \ Hay 7 clases Adapter. ComponentAdapter. Container Adapter. FocusAdapter. KeyAdapter. MouseAdapter. MouseMotionAdapter y WindowAdapter. 

Las clases Adapter derivan de Object. y son clases predefinidas que contienen definiciones vacías para todos los métodos de la interface. Para crear un objeto que responda al evento, en vez de crear una clase que implemente la interface Listener. basta crear una clase que derive de la clase Adapter correspondiente, y redefina sólo los métodos de interés. Por ejemplo, la clase VentanaCerrable del Apartado 1.3.9 (página 18) se podía haber definido de la siguiente forma:

I.    // Fichero VentanaCerrable2.java
2 .           import j ava.awt.*;
3.    import java.awt.event.*;
4.    class VentanaCerrable2 extends Frame {
5.       // constructores
6.       public VentanaCerrable2() { super(); }
7.       public VentanaCerrable2(String title) {
3.       super(title);
9.          setSize(500,500);
10.         CerrarVentana cv = new CerrarVentana();
II.         thi s.addWindowLi s teñer(cv);
13.   } // fin de la clase VentanaCerrable2
14.   // definición de la clase CerrarVentana
15.   class CerrarVentana extends WindowAdapter {
16.      void windowClosing(WindowEvent we) { System.exit(0); }
17.   } // fin de la clase CerrarVentana