Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porAlejandra Río Lara Modificado hace 9 años
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.