Programación de Interfaces Gráficas en Java. Agustín J. González ELO329

Documentos relacionados
Programación de Interfaces Gráficas en Java. Agustín J. González ELO329

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)

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

Interfaces gráficas de usuario

Componentes Swing look and feel pluggable ( mecanismo de double buffering, transparentes.

Programación Avanzada Ingeniería Civil en Computación

Desarrollo de aplicaciones gráficas

Java Avanzado Facultad de Ingeniería. Escuela de computación.

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

Uso de Java Swing. Noviembre de 2013

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Construir una Interfaz Gráfica

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

Eclipse Visual Editor

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Paquetes de java. java.applet

Aplicaciones gráficas en Java Librería Swing

2.1 Elementos gráficos en Java.

INSTALACION Y PRUEBA DEL PLUGIN WindowBuilder para trabajar Swing en Eclipse

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

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

Ejemplo de GUI con Swing

Interfaces gráficas. Jose Jesus García Rueda

Programación de sistemas

Agenda. Contenedores y componentes

JAVA 7 Los fundamentos del lenguaje Java

Reconocimiento de la plataforma ArcGis

C.I.F.: B Inscrita en el Registro Mercantil de Madrid, Tomo Libro 0, Folio 135, Sección 8. Hoja M Inscripción 1ª

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

PROGRAMACIÓN WEB I SEMANA 7 ESTE DOCUMENTO CONTIENE LA SEMANA 7

Java GUI La librería Swing

Gimp. Operaciones básicas y dibujo por ordenador

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Interfaces y Clases Internas. ELO329: Diseño y Programación Orientados a Objetos

Formación a distancia de EXPERTO EN PROGRAMACIÓN EN JAVA

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

DEMOSTRACION DE UNA APLICACIÓN N-CAPASCON JAVA- POSTGRESQL

EXPERTO EN DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES

Manejo de eventos AWT

Conocimientos previos

CURSO: Programación de Aplicaciones en Lenguaje JAVA

USO DEL OBJETO JTABLE

FIREWORKS 8. fireworks como se ha mencionado antes es una herramienta muy versátil que nos permite realizar tareas de distintas índoles como:

I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein Javier Navarro

Interfaces de usuario [Interfaces de usuario con Java]

Java desde Consola Utilizando Java sin Path

Organización de la información en disco: archivos y carpetas

Generación de la aplicación

Índice general. Capítulo 1 Conceptos básicos. Capítulo 2 Controles básicos I. Pág. N. 1

Trabajando con GUI en Java Componente java.swing

Microsoft Visual Studio está basado en.net framework. Definiciones de.net Framework:

Universidad José Carlos Mariátegui

Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos

Patrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2007/08

Tema: Herramientas UML, Análisis y diseño UML

Programación Java Curso C Draw

INSTALACIÓN JDK. Guillermo Figueroa

SESIÓN 9 TRABAJO CON LOS OBJETOS GRÁFICOS DE POWER POINT

Tema: Herramientas UML, Análisis y diseño UML

CREAR DIBUJOS CON OPENOFFICE DRAW:

CAPÍTULO 1. MI PRIMERA APLICACIÓN...

Una Interfaz Grafo-Matriz

HÉCTOR ARTURO FLÓREZ FERNÁNDEZ

Introducción a la Orientación a Objetos

Evaluación Diagnóstico puesta en común. Escuela Técnica ORT - TIC

Desarrollo de Aplicaciones

MÓDULO 1. Personalización del área visual y creación de objetos

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

Por ejemplo, considerando la jerarquía de herencia de Figuras Geométricas de la siguiente figura, es posible hacer uso del concepto de polimorfismo.

Federico Peinado

TEMA 2: TRATAMIENTO DE IMAGEN Y SONIDO

La última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual.

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

Formato para prácticas de laboratorio

Java en 2 horas. Rodrigo Santamaría

Creación y manejo de la base de datos y tablas

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo

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

i2 Cuaderno del Analista

Uso de Prezi - Guía de capacitación

VBA. Visual Basic para Aplicaciones. Guía 1. Visual Basic para Aplicaciones en Office 1

Modulo I. Primeros Pasos en Writer

COLEGIO PABLO DE TARSO IED CONSTRUCCION DE PROYECTOS DE VIDA PRODUCTIVOS DREAMWEAVER UNO- PRÁCTICAS DOC RAUL MONROY PAMPLONA

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

Ordenador local + Servidor Remoto

ADVISOR MODELO DE DESARROLLO

Manual de creación de Interfaces de Usuario en Netbeans

Configuración preliminar de blender para usar el editor de video.

Tema: Introducción al IDE de Microsoft Visual C#.

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN

INTRODUCCIÓN AL POWER POINT 2007 POWER POINT Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Transcripción:

Programación de Interfaces Gráficas en Java Agustín J. González ELO329

AWT y Swing En sus orígenes Java introdujo la AWT (Abstract Window Toolkit). Ésta creaba los objetos delegando su creación y comportamiento a herramientas nativas de la plataforma donde corre la Máquina Virtual Java. Este esquema condujo a problemas por diferencias en distintas plataformas y S.O. La solución fue desarrollar todos los objetos de la GUI basados sólo en elementos muy básicos y comunes en todas las plataformas. Así surge Swing. (Ver demo de la JFC http://download.java.net/javadesktop/swingset3/swingset3.jnlp) Junto a la JDK vienen demos de Java. Ver la carpeta que contiene el ejecutable javac y podrá encontrar el directorio demo un nivel más arriba.

Desplegando información Todos los objetos gráficos en una aplicación Java forman una jerarquía. La mayor jerarquía está en un JFrame, un JDialog, o un JApplet. Ahora veremos la estructura de los JFrame. Ejemplo: Frame Menu Bar Content Pane con un label

Estructura de un JFrame El RootPane viene con el JFrame. También lo traen los JInternalFrame y los otros contenedores de ventanas superiores (autónomas): JDialog, JApplet, JFrame. El root pane tiene 4 partes: vidrio, panel de capas, panel de contenido, y una barra de menú opcional.

Panel de vidrio Oculto por omisión (default). Si se hace visible, es como una hoja de vidrio sobre todos las partes del panel raíz. Es transparente, a menos que se implemente un método para pintarlo. Puede interceptar los eventos de la ventana panel de contenido y menú. Ver GlassPaneDemo.java

Layered Pane (panel de capas múltiples) Contiene la barra de menú opcional y el panel para poner contenidos. Puede también contener otras componentes en orden especificado por eje Z (profundidad). Ver más detalles en curso tutorial de Swing Ver LayeredDemo.java

Menús (así es en plural) Algunos elementos de un menú JMenuBar JMenu JMenuItem JMenu JMenuItem

Menús: Ejemplo Crear un frame Crear un menubar Crear a un menu Crear algunos itemes del menu Capturar eventos Agregar item al menu Agregar el menu al menubar Incorporar el menubar JFrame f = new JFrame( MenuT ); JMenuBar mb = new JMenuBar(); JMenu menu = new JMenu( Choose ); JMenuItem item1, item2; item1 = new JMenuItem( Data 1 ); item2 = new JMenuItem( Data 2 ); // Action listeners!! menu.add(item1); menu.add(item2); mb.add( menu ); f.setjmenubar( mb ); Por ejemplo de menú más completo ver: MenuDemo.java

Modelos y Vistas de Objetos Asociado a cada objeto gráfico debemos distinguir su modelo de su vista. El modelo es el conjunto de atributos de un objeto, corresponde a la representación en memoria de un objeto. Por ejemplo, para un termómetro, basta el atributo double temperatura. La vista es la apariencia visual que decidimos dar al objeto. Por ejemplo, un termómetro puede ser digital, columna de mercurio, la intensidad de un color, etc. Así una cosa es el cambio del estado de un objeto y otra el cambio en la vista correspondiente a ese nuevo estado. Objetos Swing mantienen esa consistencia, pero debemos ocuparnos de ello en objetos gráficos nuestros.

Pintado de Componentes En general hay que tratar de usar componentes estándares de Swing. Ellas se encargan de hacer su (re)pintado en pantalla cuando corresponda. Este es el caso de Labels, buttons, componentes de texto, icons, borders. Si luego de hacer visible un contenedor de componentes éste se modifica, llamar a validate(). Con esto logramos actualizar su despliegue. Ver CreaBotones.java Para crear objetos gráficos nuevos, podemos heredar de JPanel. Cuando la interfaz posee objetos dibujados por la aplicación, debemos redefinir el método: protected void paintcomponent(graphics). Éste es invocado cada vez que una componente gráfica requiere ser re-pintada.

Método: repaint Cuando una componente cambia alguno de sus atributos, por ejemplo un label cambia su texto, este método es invocado por la componente sobre un panel (en rigor sobre una instancia JComponent) que lo contiene. Se consigue así itinerar el repintado de las componente gráficas. Si nosotros hemos construido líneas, círculos, etc. debemos llamar a repaint() para solicitar al panel el llamado a paintcomponent en forma explícita. Ver ejemplo: Sketch.java y MouseTest.java

Método: repaint Diagrama de secuencia para repintado. Hay un Cambio en datos Objeto gráfico propio Solicitamos repintado repaint Contenedor de Objetos Gráficos La JVM detecta necesidad de refresco paintcomponent Como argumento va un graphics para hacer pintado

Java 2D Java 2D provee gráficos, texto e imágenes de dos dimensiones a través de extensiones de Abstract Windowing Toolkit (AWT) Incluye clases para Rectángulos, Líneas, Elipses. La clase Graphics2D, a través de su método draw, permite dibujar estos objetos debido a que todos ellos implementan la interfaz shape. Ver demo: ShapesDemo2D.java