Principios de Computadoras II - Universidad Nacional del Sur

Transcripción

Principios de Computadoras II - Universidad Nacional del Sur
Principios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras
Universidad Nacional del Sur
Interfase gráfica de usuario (GUI) - II
Mg. Ricardo Coppo
[email protected]
Ejemplo 1: Uso de JLabel
En este ejemplo se usan dos clases, uno es para
iniciar la aplicación, la segunda es la ventana con
un constructor apropiado.
Se demuestra el uso de JLabel para presentar
textos e imágenes
Se introduce el administrador de esquema
“FlowLayout” que distribuye los componentes uno a
continuación de la otra dentro de la ventana
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
2
Principios de Computadoras II
Universidad Nacional del Sur
Ejemplo 1: Uso de JLabel
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
3
Principios de Computadoras II
Universidad Nacional del Sur
Ejemplo 1: Uso de JLabel
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
4
Principios de Computadoras II
Universidad Nacional del Sur
Ejemplo 1: Uso de JLabel
Clase iniciadora de la aplicación
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
5
Principios de Computadoras II
Universidad Nacional del Sur
Eventos y su procesamiento
Toda la interfase gráfica del usuario
responde a diferentes tipos de evento
Eventos de teclado
Eventos de mouse
Eventos de ventana
Eventos de menú
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
6
Principios de Computadoras II
Universidad Nacional del Sur
Eventos y su procesamiento
El procesamiento de eventos se divide en cuatro partes:
Un objeto del tipo “EventObject” o uno de sus clases derivadas
que describe el evento creado por Swing.
Un método de acción, manejador o de procesamiento que debe
ser definido por el usuario o tomado por defecto (Listener)
Localización de la ventana, control o widget que se encuentra
activo en el momento en que se produce el evento (foco)
Un mecanismo de subscripción o conexión que interconecta el
widget con el manejador
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
7
Principios de Computadoras II
Universidad Nacional del Sur
Jerarquía de clases de EventObject
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
8
Principios de Computadoras II
Universidad Nacional del Sur
Eventos y su procesamiento
Cada tipo de evento debe ser procesada por un
método adecuado de una clase del tipo
“EventListener”
Se escribe una clase que implementa una de las
interfases de escucha de eventos específica
derivada de EventListener
ActionListener (botones, menues, etc.)
MouseListener (click, drag, etc.)
KeyListener (teclado)
Otros…
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
9
Principios de Computadoras II
Universidad Nacional del Sur
Jerarquía de interfases de EventListener
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
10
Principios de Computadoras II
Universidad Nacional del Sur
Eventos y su procesamiento
Ejemplo de una clase que implementa
ActionListener
La interface ActionListener posee un único
método público llamado “actionPerformed()”.
private class ManejadorEvento implements ActionListener
{
public void actionPerformed( ActionEvent ev ) {…}
}
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
11
Principios de Computadoras II
Universidad Nacional del Sur
Eventos y su procesamiento
Una vez que se posee la clase “Listener” y se
han implementado los métodos de la
interface se lo debe “conectar” o “subscribir”
al widget.
Una misma clase “Listener” puede
subscribirse a varios widget. Esto permite
que diversos botones, teclas, etc. puedan
tener el mismo comportamiento.
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
12
Principios de Computadoras II
Universidad Nacional del Sur
Eventos y su procesamiento
Cada componente visual posee una lista
polimórfica de “EventListener”.
Cuando recibe un “EventObject” o uno de
sus derivados, recorre la lista buscando los
objetos listener capaces de procesarlo. De
encontrar alguno, invoca los métodos de la
interface.
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
13
Principios de Computadoras II
Universidad Nacional del Sur
Manejo de eventos del usuario
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
14
Principios de Computadoras II
Universidad Nacional del Sur
Conexión de componentes con los
manejadores de evento
El programador debe “conectar” cada componente
visual con los manejadores de evento.
Esto se realiza mediante un mecanismo de
agregación de objetos (también conocido como
subscripción en este caso)
Los componentes implementan metodos como:
addActionListener
addMouseListener
etc.
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
15
Principios de Computadoras II
Universidad Nacional del Sur
Ejemplo 2: Campos de texto y eventos
En esta aplicación se demuestra el uso de
JTextField, el manejo de eventos y las clases
anidadas en Java.
La aplicación responde al ingreso de “Intro” en el
componente que actualmente posee el foco y luego
presenta una ventana con un texto identificatorio.
Se ilustra tambien como un único manejador de
eventos puede responder a diferentes componentes
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
16
Principios de Computadoras II
Universidad Nacional del Sur
Ejemplo 2: Campos de texto y eventos
Programa principal
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
17
Principios de Computadoras II
Universidad Nacional del Sur
Ejemplo 2: Campos de texto y eventos
Campos internos de la ventana
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
18
Principios de Computadoras II
Universidad Nacional del Sur
Ejemplo 2: Campos de texto y eventos
Todos los componentes usan
el mismo manejador de enventos
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
19
Principios de Computadoras II
Universidad Nacional del Sur
Ejemplo 2: Campos de texto y eventos
Esta clase
es interna a
a la clase de la
ventana
Se escribe en el
mismo archivo y
tene visibilidad
private
getActionCommand() retorna
el texto interno del componente
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
20
Principios de Computadoras II
Universidad Nacional del Sur
Ejemplo 2
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
21
Principios de Computadoras II
Universidad Nacional del Sur
Ejemplo 3: JButton
Jerarquía de botones
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
22
Principios de Computadoras II
Universidad Nacional del Sur
Ejemplo 3: JButton
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
23
Principios de Computadoras II
Universidad Nacional del Sur
Ejemplo 3: JButton
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
24
Principios de Computadoras II
Universidad Nacional del Sur
Ejemplo 3: JButton
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
25
Principios de Computadoras II
Universidad Nacional del Sur
Ejemplo 4: Calculadora simple
Utilizando el Netbeans y la capacidad de
diseño gráfico del IDE desarrollar una
calculadora simple capaz de sumar dos
números y presentar el resultado.
Generar dos clases, la de la aplicación y la
de la “vista” o ventana.
Analizar el código generado por el IDE.
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
26
Principios de Computadoras II
Universidad Nacional del Sur
Bibliografía
Ver Deitel y Deitel
Java – Cómo programar (7ta. Edición)
Cap. 11 – Componentes de la GUI
Otros componentes:
Esquemas:
JCheckBox, JRadioButton, JComboBox, JList, JTextArea
FlowLayout, BorderLayout, GridLayout
Clases adaptadoras
Interfase gráfico del usuario (GUI) – II
Mg.Ricardo Coppo
27
Principios de Computadoras II
Universidad Nacional del Sur
Principios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras
Universidad Nacional del Sur
Interfase gráfica de usuario (GUI) - II
Mg. Ricardo Coppo
[email protected]

Documentos relacionados