Programación de sistemas

Documentos relacionados
Programación de sistemas

Interfaces gráficas. Jose Jesus García Rueda

Programación de sistemas

Uso de Java Swing. Noviembre de 2013

IC Programación Orientada a Objetos I. Programación de Interfaces Gráficas de Usuario (GUI) 2

2.1 Elementos gráficos en Java.

Transparencias de Java. Tema 7: AWT. Uploaded by Ingteleco

Componentes Swing. Las clases cuyo nombre comienza por J forman parte de Swing. Todas las demás están incluidas en AWT (Abstract Window Toolkit)

INTERFACES GRÁFICAS MTRA. CAROLINA GALAVIZ INZUNZA. Mtra. Carolina Galaviz Inzunza

Swing. Andrés Marín López Jesús Arias Fisteus Laboratorio de Aplicaciones Telemáticas

Desarrollo de Aplicaciones en Java INF 473

Introducción a Swing. Taller de Programación 2016

Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Algoritmia y Programación

Problema 1 (2 puntos)

Universidad Carlos III de Madrid Departamento de Ingeniería Telemática. Swing

Aplicaciones de Escritorio

Indice. Swing: conceptos. Generalidades. Swing & AWT: diferencias. Interfaz Gráfica de Usuario (GUI)

Tema 6. Interfaces gráficas de usuario (Parte 1)

Pasos requeridos para establecer el manejo de eventos para un componente de GUI.

Interfaces Gráficas de Usuario

Introducción a la Programación Orientada a Objetos

Construir una Interfaz Gráfica

Aplicaciones gráficas en Java Librería Swing

Tipos de programas en Java. Programación basada en eventos. Programación basada en eventos. Creación de una interfaz gráfico de usuario

Interfases gráficas. Programación Orientada a Objetos.

Agenda. Contenedores y componentes

UNIDAD I.- Elementos de Interfaces Gráficas

Programación Orientada a Objetos

PLANTEL 2 CIEN METROS ELISA ACUÑA ROSSETTI ACADEMIA DE TECNOLOGIA DE LA INFORMACION Y DE LA COMUNICACION

Programación orientada a objetos. Capítulo 11 Construir interfaces gráficas de usuarios

Aplicaciones Java. Juan Manuel Fernández Peña Curso 2011, 2013

INTERFAZ GRÁFICO DE USUARIO

Interfaces gráficas de usuario

1 Funcionalidades Java que se presentan en esta práctica

Java y Eclipse Desarrolle una aplicación con Java y Eclipse

Interacción con el Usuario Gestión de Eventos

Programación Basada en Eventos

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON

INTERFACES GRÁFICAS. Algoritmia y Programación

Ingeniería del Software Separación entre Presentación y Lógica del Negocio

Programación de Eventos

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Interfaces gráficas en Java GUIs Graphical User Interface

Interfaz Gráfica de Usuario (GUI)

Manejo de eventos AWT

Capítulo 7. Introducción a las Interfaces Gráficas de usuario. Continuar

Java GUI La librería Swing

Tópicos Avanzados de Programación (TAP3501)

EVENTOS en Java generador de un evento gestor de eventos

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON

GUIA DE LABORATORIO #5 Nombre de la Creación de Interfaces gráficas con NetBeans.

Interfaces gráficas con Swing

Programación Java Curso C GUI

Desarrollo de Aplicaciones en Java INF 473

Introducción a las Interfaces Gráficas de Usuario en Java

ASIGNATURA: LENGUAJE DE PROGRAMACIÓN IV

INSTRUCCIÓN PEDIR EN JAVA CON JTEXTAREA Y MOSTRAR CON JLABEL. SETBOUNDS Y SETTEXT. EJEMPLOS. (CU00929C)

public void mousepressed(mouseevent evento) Se llama cuando se oprime un botón del ratón, mientras el cursor del ratón está sobre un componente.

Creando archivos *.jar 2008

INGRESAR DATOS CON UN CONTROL VISUAL EN JAVA. CLASE JTEXTFIELD Y MÉTODO GETTEXT. EJEMPLOS (CU00928C)

Programación Avanzada, curso 2011 Juan Manuel Fernández Ejemplo muy simple del uso de Tablas

11 Componentes de la GUI: parte 1

CAPITULO 11. CONSTRUIR INTERFACES GRAFICAS DE USUARIO

Lenguajes de Programación Curso Práctica 8. Interfaces gráficas de usuario y Swing. Trabajo con modelos. 1. Un ejemplo 2. 2.

d) Mencione dos diferencias y dos semejanzas entre clases abstractas e interfaces.

Desarrollando aplicaciones mediante componentes

Tema 6. Interfaces gráficas de usuario (Parte II Componentes y eventos)

Examen de Programación II (Ingeniería Informática)

Desarrollo de aplicaciones gráficas

Ejemplo de GUI con Swing

INSTALACION Y PRUEBA DEL PLUGIN WindowBuilder para trabajar Swing en Eclipse

ALGORITMICA Y PROGRAMACION POR OBJETOS I

Programación Conducida por eventos Event-driven programming. Agustín J. González ELO329/ELO330

Pasos a seguir para crear una aplicación visual en el lenguaje de programación Java con Netbeans IDE.

Documentación en Java: Javadoc

Conclusiones en la organización del código de gestión de eventos... 92

GUIs en Java (4) Iván Alonso

UNIDAD I.- Elementos de Interfaces Gráficas

Programa de Asignatura Programación Visual II

Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans

HÉCTOR ARTURO FLÓREZ FERNÁNDEZ

Transcripción:

Programación de sistemas Interfaces Gráficas I. Conceptos básicos II. Eventos Departamento de Ingeniería Telemática José Jesús García Rueda y Carlos Alario Hoyos <rueda@it.uc3m.es, calario@it.uc3m.es> 1

Contenidos Qué son las interfaces gráficas? Elementos de la interfaz gráfica Organización de elementos: Layouts 2

Qué son las interfaces gráficas? Parte del programa que interactúa con el usuario, utilizando objetos gráficos e imágenes. Proporcionan un entorno (gráfico) sencillo e intuitivo Evolución de la línea de comandos GUI (Graphical User Interface) 3

Cómo construimos interfaces gráficas en Java? Utilizando clases incluidas en el paquete package javax.swing; API: http://docs.oracle.com/javase/7/docs/api/javax/swing/package-summary.html Necesitamos importar esas clases en nuestro programa import javax.swing.*; 4

Ejemplos de clases en javax.swing JLabel JButton JTextField JTextArea Etiquetas Botones Campos de texto Áreas de texto 5

Ejemplos de clases en javax.swing JCheckBox JRadioButton JList JScrollBar Casillas de verificación Botones de opción Listas Barras de desplazamiento 6

La metáfora de la pared 7

La metáfora de la pared Ventana Contenedor de segundo nivel Contendor de nivel superior 8

Paso 1: Crear la ventana import javax.swing.jframe; Necesitamos importar la clase JFrame (ventana genérica) public class Ejemplo { public Ejemplo() { Creamos una nueva ventana Siempre igual } JFrame frame = new JFrame("Ejemplo"); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setsize(400,100); frame.setvisible(true); } public static void main(string args[]) { javax.swing.swingutilities.invokelater(new Runnable(){ } }); public void run() { Ejemplo gui = new Ejemplo(); } El main() es igual en las siguientes transparencias. Hay que hacer visible la ventana explícitamente Creación de una instancia de nuestra interfaz gráfica 9

Paso 2: El contendor de nivel superior Todas las ventanas tienen un contenedor de alto nivel sobre el que se colocan el resto de componentes o Incluidos otros contenedores import javax.swing.jframe; import javax.swing.jpanel; Necesitamos importar la clase JPanel (contenedor genérico) public class Ejemplo { Obtenemos la referencia al objeto que public Ejemplo() { representa al contenedor de alto nivel JFrame frame = new JFrame("Ejemplo"); JPanel contentpane = (JPanel) frame.getcontentpane(); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setsize(400,100); frame.setvisible(true); } } Alternativamente: Container contentpane = frame.getcontentpane(); 10

Paso 3: Añadir elementos import javax.swing.jframe; import javax.swing.jpanel; import javax.swing.jlabel; Importamos la clase JLabel (para incluir etiquetas) public class Ejemplo { public Ejemplo() { JFrame frame = new JFrame("Ejemplo"); JPanel contentpane = (JPanel) frame.getcontentpane(); JLabel label = new JLabel("Etiqueta"); contentpane.add(label); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setsize(400,100); frame.setvisible(true); Creamos una etiqueta y la añadimos al panel } } 11

Ejercicio 1 Implementa el código que permite generar la siguiente interfaz gráfica. No olvides importar las clases necesarias y hacer visible la ventana. El programa debe finalizar al cerrar la ventana. 200 píxel 400 píxel 12

Paso 4: Contenedores de niveles inferiores import javax.swing.jframe; import javax.swing.jpanel; import javax.swing.jlabel; import javax.swing.jbutton; public class Ejemplo { public Ejemplo() { JFrame frame = new JFrame("Ejemplo"); JPanel contentpane = (JPanel) frame.getcontentpane(); } } Un panel puede contener a otros paneles JPanel panel = new JPanel(); JLabel label = new JLabel("Etiqueta"); JButton button = new JButton("Botón"); panel.add(label); Creamos un nuevo panel y le añadimos los elementos panel.add(button); contentpane.add(panel); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setsize(400,100); frame.setvisible(true); Añadimos el panel al contenedor de nivel superior 13 13

Creando nuestras propias ventanas También podemos crear nuestras propias ventanas como subclases de Jframe o Especialmente cuando se necesitan varias instancias del mismo tipo de ventana (p.ej. ventanas de error) 14

Jerarquía de clases de los elementos de las interfaces gráficas en Java Figura de: http://pervasive2.morselli.unimo.it/~nicola/courses/ingegneriadelsoftware/java/j4a_gui_2.html 15

Cómo ordenar los elementos de nuestra interfaz gráfica? Opción 1: Uso de layouts o Plantillas que facilitan la colocación de elementos en la interfaz o Se asocian a paneles (cada panel puede tener un layout diferente) Opción 2: Por coordenadas o Método setbounds(int x, int y, int width, int height) o Para usar coordenadas hay que anular el layout del panel setlayout(null) 16

Layouts Conjunto de clases incluidas en el paquete package java.awt; API: http://docs.oracle.com/javase/7/docs/api/java/awt/package-summary.html Necesitamos importar esas clases en nuestro programa import java.awt.*; 17

FlowLayout Coloca los elementos en línea uno detrás de otro o Layout por defecto en los paneles 18

GridLayout Importamos la clase GridLayout Coloca los elementos en cuadrícula Indicamos el tipo de Layout 19

BorderLayout Importamos la clase BorderLayout Coloca los elementos en cuadrícula Indicamos el tipo de Layout y la posición de los elementos 20

Ejercicio 2 Implementa el código que permite generar la siguiente interfaz gráfica. No olvides importar las clases necesarias y hacer visible la ventana. El programa debe finalizar al cerrar la ventana. 300 píxel 600 píxel 21

Ejercicio 3 Implementa el código que permite generar la siguiente interfaz gráfica. No olvides importar las clases necesarias y hacer visible la ventana. El programa debe finalizar al cerrar la ventana. 300 píxel 600 píxel 22

Ejercicio 4 Implementa el código que permite generar la siguiente interfaz gráfica. No olvides importar las clases necesarias y hacer visible la ventana. El programa debe finalizar al cerrar la ventana. Utiliza JPasswordField para el campo de texto del password 23