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]