La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

:: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.

Presentaciones similares


Presentación del tema: ":: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación."— Transcripción de la presentación:

1 :: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación

2 Programación I Para la entrada directa de datos se suelen utilizar los campos de texto, que aparecen en pantalla como pequeñas cajas que permiten al usuario la entrada por teclado de una línea de caracteres. Los campos de texto (TextField) son los encargados de realizar esta entrada, aunque también se pueden utilizar, activando su indicador de no-editable, para presentar texto de una sola línea. La clase TextField extiende a la clase TextComponent, que extiende a su vez, a la clase Component. Por ello, hay una gran cantidad de métodos que están accesibles desde los campos de texto. La clase TextComponent también es importante en las áreas de texto, en donde se permite la entrada de múltiples líneas de texto. Acerca de… AWT Componentes: Componentes: Campos de Texto

3 Programación I Acerca de… AWT Componentes: Componentes: Campos de Texto

4 Programación I Acerca de… AWT Componentes: Componentes: Campos de Texto

5 Programación I Una etiqueta (Label) proporciona una forma de colocar texto estático en un panel, para mostrar información fija, que no varía (normalmente), al usuario. La clase Label extiende la clase Component y dispone de varias constantes que permiten especificar la alineación del texto sobre el objeto Label. Acerca de… AWT Componentes: Componentes: Etiquetas

6 Programación I Acerca de… AWT Componentes: Componentes: Etiquetas

7 Programación I Una zona de dibujo o lienzo (Canvas), es una zona rectangular vacía de la pantalla sobre la cual una aplicación puede pintar, imitando el lienzo sobre el que un artista plasma su arte, o desde la cual una aplicación puede recuperar eventos producidos por acciones del usuario. La clase Canvas existe para que se obtengan subclases a partir de ella. No hace nada por sí misma, solamente proporciona una forma de implementar Componentes propios. Por ejemplo, un canvas es útil a la hora de presentar imágenes o gráficos en pantalla, independientemente de que se quiera saber si se producen eventos o no en la zona de presentación. Acerca de… AWT Componentes: Componentes: Canvas La clase Canvas es muy simple, consiste en un solo constructor sin argumentos y dos métodos, que son: AddNotify()Crea el observador del canvas paint( Graphics )Repinta el canvas

8 Programación I Cuando se implementa una subclase de la clase Canvas, hay que prestar atención en implementar los métodos minimumSize() y preferredSize() para reflejar adecuadamente el tamaño de canvas; porque, en caso contrario, dependiendo del layout que utilice el contenedor del canvas, éste puede llegar a ser demasiado pequeño, incluso invisible. Acerca de… AWT Componentes: Componentes: Canvas Estudiar el funcionamiento del Canvas.

9 Programación I Acerca de… AWT Componentes: Canvas

10 Programación I Acerca de… AWT Componentes: Componentes: Canvas

11 Programación I Se debe importar: javax.swing.*; Acerca de… Swing Para usar los componentes GUI efectivamente, la javax.swing y java.awt debe comprender su jerarquía de herencia, especialmente la de la clase Component, la clase Container y la clase JComponent, las cuales definen caracerísticas comunes para la mayoría de los componentes swing. Entre los métodos que origina la clase Component y que son usados frecuentemente estan: paint, repaint y update.

12 Acerca de… Swing Programación I Un Container es una colección de componentes relacionados. La clase Container define los atributos y métodos comunes para todas sus subclases. Un método que origina la clase Container es add para añadir componentes a un Container, otro es setLayout, el cual dispone de un programa para especificar el layout manager (administrador de trazado) que ayuda al Container posicionar y darle tamaño a sus componentes. Estudiar los atributos y métodos de la clase Component y Container en la documentación.

13 Acerca de… Swing Programación I La clase JComponent es la superclase de la mayoría de los componentes swing, por tanto ella define atributos y métodos a todas las subclases de JComponent y entre sus características se cuentan: Un pluggable look and feel que puede ser usado para personalizar el look and feel cuando el programa ejecuta en diferentes plataformas. Método abreviado de acceso directo a los componentes GUI a través del teclado. Manejadores de eventos comunes para aquellos casos en donde diversos componentes GUI inician la misma acción en un programa.

14 Acerca de… Swing Programación I Descripciones breves de los componentes GUI (tool tips) que son desplegadas cuando el mouse es posicionado sobre el componente en tiempo de ejecución por un corto tiempo.

15 Acerca de… Swing Programación I Las diferencias principales en código de AWT y Swing son las siguientes: Para agregar componentes al frame AWT  frame.add(nombre_componente); SWING  frame.getContentPane().add(nombre_com); Para establecer el layout AWT  frame.setLayout(null); SWING  frame.getContentPane().setLayout(null);

16 Acerca de… Swing Programación I Para cerrar la aplicación AWT  frame.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0);} }); SWING  Ya trae uno implícito, pero se puede colocar frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE); Para hacer visible el frame AWT  frame.setVisible(true); SWING  frame.setVisible(true); frame.show();

17 Componente JLabel Programación I Las Labels (etiquetas) proveen instrucciones de texto o información. Se definen con la clase JLabel – subclase de JComponent –. Una etiqueta despliega una línea sencilla de texto de solo lectura, una imagen o ambos. El siguiente programa muestra un ejemplo de JLabel.

18 Componente JLabel Programación I

19 El programa declara un JLabel. Los objetos JLabel son inicializados en el constructor LabelTest: Se crea un JLabel con el texto “Label with Text”. El label despliega este texto cuando aparece en la pantalla. Se usa el método setToolTipText (heredado en la clase JLabel de la clase JComponent) para especificar el tool tip (o descripción) que es desplegado automáticamente cuando el usuario posicona el mouse sobre la etiqueta. Luego, se añade el label al content pane. Estudiar en la documentación de Java, los métodos de la clase javax.swing.JLabel. Componente JLabel

20 Programación I La interface SwingConstants (paquete javax.swing) define un grupo de constantes enteras (así como SwingConstants.LEFT) que son usadas por muchos componentes swing. La alineación vertical y horizontal de las etiquetas puede fijarse con los métodos setHorizontalAlignment y setVerticalAlignment, respectivamente. Errores comunes: Si no se añade explícitamente un componente al Container, el componente no será desplegado cuando el Container aparezca en la pantalla. Añadir a un Container un Componente que no ha sido instanciado. Componente JLabel

21 Programación I ¿Qué es un evento? Un evento es una encapsulación de una información que puede ser enviada a la aplicación de manera asíncrona. Los eventos pueden corresponder a acciones físicas (ratón y teclado) y acciones lógicas. ¿Con cuáles clases se trabajan los eventos? Java.util.EventObject es la clase padre de todos los eventos, su subclase java.awt.event es la clase padre de todos los eventos AWT. Eventos

22 Programación I Las GUI son manejadores de eventos, ellos generan eventos cuando el usuario del programa interactúa con la GUI) algunas interacciones comunes son las del movimiento del mouse, hacer clic, clic en un botón, tipeando un campo de texto, seleccionando un ítem de un menú, cerrando una ventana, etc. Cuando un usuario interactúa, ocurre un evento que es enviando al programa. La información del evento de la GUI es almacenada en un objeto de una clase que hereda de AWTEvent. Modelo de Manejo de Eventos

23 Programación I Modelo de Manejo de Eventos ComponentEventEsconder, mover, redimensionar, mostrar ContainerEventAñadir o eliminar un componente FocusEventObtener o perder el Focus KeyEventPulsar, liberar o teclear una tecla MouseEventEntrar, salir, pulsar, soltar o hacer click MouseMotionEventArrastrar o mover WindowEventMaximizar, minimizar, abrir, cerrar, activar o desactivar Eventos Físicos

24 Programación I Modelo de Manejo de Eventos ActionEventUna acción se ha ejecutado AdjustmendEventUn valor se ha ajustado ItemEventUn estado ha cambiado TextEventUn texto ha cambiado Eventos Semánticos

25 Programación I Modelo de Manejo de Eventos Origen de los Eventos

26 Programación I Modelo de Manejo de Eventos Origen de los Eventos

27 Programación I Existen 3 mecanismos para manejar los eventos: event source event object event listener El event source es el particular componente GUI con el cual el usuario interactúa. El event object encapsula información del evento que ocurre. Esta información incluye una referencia al source event y cualquier información del evento que puede ser requerida por el escuchador de eventos para el manejador del mismo. El escuchador de eventos es un objeto que es notificado por el source event cuando un evento ocurre y recibe un event object. Modelo de Manejo de Eventos

28 Programación I Un escuchador de eventos para un evento de una GUI es un objeto de una clase que implementa uno o más interfaces de escuchadores de eventos del paquete java.awt.event y javax.swing.event. Modelo de Manejo de Eventos El programador debe realizar 2 tareas para el proceso de eventos de una GUI en un programa: Registrar un escuchador de eventos para el componente GUI que se espera que genere un evento; y la implementación de un método (o métodos) manejador(es) de eventos, comúnmente llamados event handlers.

29 Programación I Existen tres componentes importantes a la hora de crear lo que debe hacer un evento: La interface que maneja el evento. La clase adaptadora del evento. El método que implementa el evento. Modelo de Manejo de Eventos

30 Programación I Modelo de Manejo de Eventos

31 Programación I Modelo de Manejo de Eventos

32 Programación I Modelo de Manejo de Eventos

33 Programación I Un objeto escuchador de eventos escucha específicos tipos de eventos generados por event source (normalmente componentes GUI) en un programa. Un manejador de eventos es un método que es invocado en respuesta de un particular tipo de evento. Cada interface de escuchador de eventos específica uno o mas métodos manejadores de eventos que deben ser definidos en la clase que implementa la interface escuchadora de eventos, recordando que las interfaces definen métodos abstractos y cualquier clase que implemente una interface debe definir todos sus métodos; además, no pueden crearse objetos de una clase abstracta. Modelo de Manejo de Eventos

34 Programación I El uso de escuchadores de eventos en manejadores de eventos es conocido como Modelo de Delegación de Eventos — el proceso de un evento es delegado a un particular objeto (el que escucha) en el programa. Cuando ocurre un evento, el componente GUI con el cual el usuario interactúa notifica a sus escuchadores registrados para que cada escuchador invoque al método manejador de evento apropiado. Por ejemplo, cuando el usuario presiona la tecla Enter en un JTextField, el método actionPerformed del escuchador registrado es invocado. Modelo de Manejo de Eventos

35 Programación I Modelo de Manejo de Eventos La interfaz que implementa el escuchador La clase Adaptadora El método que se va a implementar Nombre del Evento

36 Programación I Un botón es un componente que al hacer el usuario click captura una acción. Un programa en Java puede usar diversos tipos de botones, incluyendo botones de comando, Check Box y botones de radio. Captura de Eventos del Componente JButton Estudiaremos los botones que son utilizados para iniciar un comando: Botones de Comando. Estos generan un ActionEvent cuando el usuario hace click en el botón con el mouse. Son creados con la clase JButton.

37 Programación I Captura de Eventos del Componente JButton La interfaz que implementa el escuchador No posee clase adaptadora, se debe crear objeto anónimo de la escuchadora El método que se va a implementar Nombre del Evento

38 Programación I Captura de Eventos del Componente JButton Objeto de la clase interna Se le configura la escuchadora a cada botón y se le envía el objeto anterior El objeto anterior se puede enviar también anónimo Clase interna que implementa la interface escuchadora El método que se va a implementar Nombre del Evento

39 Programación I Captura de Eventos del Componente JButton

40 :: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Finalización


Descargar ppt ":: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación."

Presentaciones similares


Anuncios Google