Programación de Interfaces Gráficas en Java

Slides:



Advertisements
Presentaciones similares
Aplicaciones GUI en Java
Advertisements

Agustín J. González ELO329/ELO330
Primitivas de Dibujo y Transformaciones Programas en Java
AWT y Swing Existen dos conjuntos basicos de componentes. Para crear aplicaciones graficas o GUI AWT abstract Window Toolkit Swing.
Programación de Interfaces Gráficas en Java
Programación Gráfica Agustín J. González ELO329/ELO330.
Programación de Interfaces Gráficas en Java
M.C. Meliza Contreras González.  Se le llama interfaz gráfica al conjunto de componentes gráficos(ventanas, botones, combos, listas, cajas de dialogo,
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Corel Draw - Aplicaciones
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
JCLIC. ¿QUE ES JCLIC? JClic es una herramienta para la creación de diversos tipos de actividades educativas.
Macromedia Flash ROSA HILDA ARROYO NAVARRO.  DEFINICIÓN  CARACTERÍSTICAS  APLICACIONES  ENTORNO DE TRABAJO ÍNDICE.
Tema 1:Introducción a la estadística La presentación de datos estadísticos constituye en sus diferentes modalidades uno de los aspectos de mas uso en la.
Partes de ventana de Access Carolina Pozo. Sexto “B”
ELO329: Diseño y Programación Orientados a Objetos
Programación de Interfaces Gráficas en Java Objetivo: Programar aplicaciones con interfaces gráficas usando objetos gráficos de Swing y definidos por.
Programación orientada a objetos
Un poco de lo que se de WORD
Programación orientada a objetos
Polimorfismo y Métodos Virtuales
Manejo de Punteros y objetos en memoria dinámica en C++
Programación de Interfaces Gráficas en Java
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Programación de Interfaces Gráficas en Java
Exception Object Throwable Error Exception Runtime Exception.
Programación orientada a objetos
Clases y Objetos en Java
Proceso de Desarrollo de SW
CAPÍTULO 9: DETECCIÓN DE LÍNEAS
Alfabetizacion Digital
Manejo de Punteros y objetos en memoria dinámica en C++
Clases y Objetos en Java
Agustín J. González ELO-329
Herramientas de Visual basic 2012.
Interfaces Gráficas de Usuario
Page Composer de EBSCOhost
Interfaces Gráficas de Usuario
QUÈ ES VISUAL BASIC ES UN LENGUAJE DE PROGRAMACIÒN QUE SE HA DISEÑADO PARA FACILITAR EL DESARROLLO DE APLICACIONES EN EL ENTORNO GRÀFICO. (GUI GRAPHICAL.
Programación Orientada a Objetos
Interfaces Gráficas de Usuario
Ingeniería de Software
PREZI..
UML 2,0 Christian Sáenz.
ESTRUCTURA DE UN PROGRAMA SIMPLE EN JAVA
Programación en scratch
Diagramas del modelo uml
Cuestionario # 3.
Curso de Programación Web html, java script
Java – programación orientada a objetos programación ii – iee
Proceso de Desarrollo de SW
GRÁFICOS Un gráfico es la representación gráfica de los datos de una hoja de cálculo y facilita su interpretación. La utilización de gráficos hace más.
GRÁFICOS Un gráfico es la representación gráfica de los datos de una hoja de cálculo y facilita su interpretación. La utilización de gráficos hace más.
Interfaces Gráficas de Usuario
Clases Asociadas y encapsulamiento
Herencia en C++ Agustín J. González ELO329.
Java Applets como ejemplo de “Frameworks”
Manejo de Punteros y objetos en memoria dinámica en C++
WEBTEC-1205 Diseño Visual Digital 2 Profesor: Mauro Laurent Obando
Paquetes y Documentación en Java
Herencia en C++ Agustín J. González ELO329.
Manejo de Excepciones en C++
Herencia en C++ Agustín J. González ELO329.
Agustín J. González ELO-329
Agustín J. González ELO-329
Programación de Interfaces Gráficas en Java Objetivo: Programar aplicaciones básicas con interfaces gráficas usando objetos gráficos de Swing y definidos.
Polimorfismo en C++ y Métodos Virtuales
INSTITUTO TECNOLÓGICO DEL AZUAY INTEGRANTES: ROGER ROJAS, ANDREA SANMARTÍN.
Clases y Objetos en Java
Transcripción de la presentación:

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

ELO-329: Diseño y Programación Orientados a Objetos 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. ELO-329: Diseño y Programación Orientados a Objetos

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 ELO-329: Diseño y Programación Orientados a Objetos

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. ELO-329: Diseño y Programación Orientados a Objetos

ELO-329: Diseño y Programación Orientados a Objetos 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 ELO-329: Diseño y Programación Orientados a Objetos

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 ELO-329: Diseño y Programación Orientados a Objetos

Menús (así es en plural) Algunos elementos de un menú JMenuBar JMenu JMenuItem JMenu JMenuItem ELO-329: Diseño y Programación Orientados a Objetos

ELO-329: Diseño y Programación Orientados a Objetos 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 Por ejemplo de menú más completo ver: MenuDemo.java 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 ); ELO-329: Diseño y Programación Orientados a Objetos

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. ELO-329: Diseño y Programación Orientados a Objetos

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. ELO-329: Diseño y Programación Orientados a Objetos

ELO-329: Diseño y Programación Orientados a Objetos 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 ELO-329: Diseño y Programación Orientados a Objetos

Método: repaint Diagrama de secuencia para repintado. Objeto gráfico propio Contenedor de Objetos Gráficos Solicitamos repintado Hay un Cambio en datos repaint La JVM detecta necesidad de refresco paintComponent Como argumento va un “graphics” para hacer pintado ELO-329: Diseño y Programación Orientados a Objetos

ELO-329: Diseño y Programación Orientados a Objetos 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 ELO-329: Diseño y Programación Orientados a Objetos