Abriendo Ventanas en la Pantalla

Slides:



Advertisements
Presentaciones similares
Cetis No. 119 Profa. Graciela Prado Becerra
Advertisements

TUTORIAL 2012 PAINT 2007.
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. Sesión 12 - Introducción.
Java Parte II Taller de Sistemas de Programas Enero-Marzo 99 Prof. : Sandra Zabala, Marilenis Olivera Ivette C. Martínez, Pedro García, Alejandra Blanco.
Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO330.
Aplicaciones GUI en Java
1 TEMA 1. Diseño de interfaces gráficas 1.Introducción 2.Componentes de la interfaz 3.Programación dirigida por eventos 4.Gestores de ubicación 5.Primitivas.
:: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.
EI, Profesor Ramón Castro Liceaga Agosto de 2005 UNIVERSIDAD LATINA (UNILA) PROGRAMACION ORIENTADA A OBJETOS EN JAVA (Optativa) PROGRAMACION DE INTERFASES.
Programación Orientada a Objetos
Hermilia Molina Acevedo
Interfaces Graficas Profesor: Rodrigo Cruzat. Contenedores La ventana misma, que contiene botones, texto, etc… y donde se realizará la interacción JFrame.
AWT y Swing Existen dos conjuntos basicos de componentes. Para crear aplicaciones graficas o GUI AWT abstract Window Toolkit Swing.
1 Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO329/ELO330.
Programación de Interfaces Gráficas en Java
Un editor de texto es un programa que permite crear y modificar archivos digitales compuestos únicamente por texto sin formato, conocidos comúnmente como.
:: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.
Ing. Vanessa Borjas. Entorno gráfico En un entorno gráfico se tiende a que cada uno de los programas esté compuesto por un formulario, aunque no es una.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.1 AWT ABSTRAC WINDOW TOOLKIT.
CONCEPTOS INTRODUCTORIOS FILOSOFÍA DE WINDOWS Preparado por: Dr. Nelliud D. Torres Curso: GEIC-1000 Universidad Interamericana de Puerto Rico Recinto de.
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,
El contexto gráfico La función paint y update nos suministran el contexto gráfico del applet o del componente, en otros casos, hemos de obtener el contexto.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
:: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Resumen 2014 INTRODUCCIÓN AL SPSS. Algo para recordar… Tres amigos estadísticos se reunieron para cazar patos. Uno apunta y dispara 1 metro más arriba.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
By Ibrahim Josue Pasos González. Para programar en Microsoft Visual Studio 2008 es muy sencillo, primero abrimos nuestro Visual Studio y hacemos click.
Programación orientada a objetos
HERRAMIENTAS DE INFORMATICA
Programación Orientada a Eventos
Tutorial presentado por:
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Programación de Interfaces Gráficas en Java
Exception Object Throwable Error Exception Runtime Exception.
ACCESORIOS DE WINDOWS LA CALCULADORA:
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN AL PROGRAMA QUARKXPRESS
Entorno de Excel UNIDAD 7-8
Programación Orientada a Objetos
MANEJO DE ARCHIVOS DIGITALES
CONTROLES BÁSICOS VB.NET
Interfaces Gráficas de Usuario
Interfaces Gráficas de Usuario
TÓPICOS AVANZADOS DE PROGRAMACIÓN
MANEJO DE VENTANAS El Sistema Operativo Windows basa su interfaz en el uso de ventanas. Es decir, cada aplicación se abre en un recuadro llamado ventana,
Programación Orientada a Objetos
INSTITUTO TÉCNOLOGICO SUPERIOR DE LIBRES
Interfaces Gráficas de Usuario
Programación Orientada a Objetos
INSTITUTO TECNOLÓGICO SUPEROR DE LIBRES INGENIERÍA EN SISTEMAS COMPUTACIONALES TÓPICOS AVANZADOS ING.ELIZABETH DIAZ OREA 4° SEMESTRE INTEGRANTES: ESMERALDA.
INSTITUTO TÉCNOLOGICO SUPERIOR DE LIBRES
Información Básica.
Información Básica.
PowerPoint.
Clases y objetos.
ENTORNO GRÁFICO DE VISUAL ESTUDIO
Interfaces Gráficas de Usuario
Didáctica y Comunicación Sesión 10
Como sumar dos números con JavaScript
INTRODUCCIÓN A DISEÑO Objetivos del curso. Definición de PowerPoint. Que podemos hacer en PowerPoint. Definición de Presentación. Principios de un buen.
Objetos con linea de ejecucion propia
El explorador de Windows El Explorador de archivos (anteriormente llamado Explorador de Windows) te ayuda a trabajar con archivos y carpetas. Para abrir.
Abriendo Ventanas en la Pantalla
Abriendo Ventanas en la Pantalla
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.
Tema 10. Uso de formularios y controles
Clases abstractas e interfaces
Transcripción de la presentación:

Abriendo Ventanas en la Pantalla Antes de la versión Java 1.2 (o Java 2) el paquete que proveía de clases para construir interfaces gráficas era AWT. Ahora tembién existe Swing Swing debería usarse en vez de AWT porque consume menos recursos, pero es algo más trabajoso de programar Nosotrosa usaremos el AWT Las componente básica para abrir ventanas con AWT es el Frame. Otros elementos (como botones, barras de menús etc. ) deben ser colocados dentro de un Frame

Creando Frames Frames son ventanas con un marco que se pueden normalmente mover y cambiar de tamaño. También son capaces de contener barras de menús Un Frame puede crearse de varias maneras: Frame f = new Frame() Frame f = new Frame(“Hello”);

Mostrando Frames Para que se vean los Frames es necesario ponerles un tamaño y hacerlos visibles f.setSize(200,300); // width, height f.setVisible(true); Los siguientes son métodos válidos para la clase void setLocation(int x,int y) void setBounds(x,y,w,h); void setBackground(Color c) void setCursor(Cursor c) void setForeground(Color c) void add(Component c)

Pintando sobre la ventana Pondremos un objeto de tipo Canvas sobre la ventana y pintaremos en él. El canvas será luego incluido en el frame. Japan

Pintando sobre una componente Es necesario tener el contexto grafico de la componente sobre la que se quiere pintar Este objeto tiene toda la información necesaria para pintar sobre el objeto al cual pertenece Los métodos para pintar se aplican sobre el contexto gráfico, no sobre el Lo último que se pinta quedará sobre lo anterior (tapará lo anteriormente pintado)

Pintando sobre una componente En la mayoría de las situaciones obtendremos el contexto gráfico del método paint El método paint es invocado por el sistema operativo del coputador (windows) cada vez que se requiere “pintar” el objeto de nuevo, no es llamado desde dentro del programa. Esto sucede cada vez que el objeto (o parte de él) es tapado por otras ventadas y vuelto a mostrar Cada vez que el objeto es cubierto por otras ventanas el contenido desaparece, por esto hay que pintarlo de nuevo. (ver Japan2)

Los métodos más comunes x1,y1 x2,y2 drawLine(x1,y1,x2,y2) drawRect(x,y,w,h) fillRect(x,y,w,h) drawOval(x,y,w,h) fillOval(x,y,w,h) w x,y h w x,y h

Más métodos drawPolygon(x[],y[],n) fillPolygon(x[],y[],n) setColor(color.colorname) colorname = black, blue, cyan, darkGray, gray, orange, white, red, pink, yellow setColor(new color(red,green,blue)) x[1],y[1] x[4],y[4] x[2],y[2] n = 5 x[3],y[3]

Cambiando las letras drawString(x,y,str) Podemos cambiar la apariencia de las letras Font afont = new font(“Arial”,font.Bold,20) Todos estos métodos son aplicados al contexto gráfico, no a la componente x This is the string y

Animaciones Hay básicamente 2 maneras de hacer animaciones con el computador 1- Pintando y borrando figuras de modo que parezcan que se mueven Flicker DOS

Animaciones 2 2. Mostrando imágenes pregrabadas una tras otra, como se hace en los dibujos animados DukeViewer2 dos

Por qué no podemos cerrar las ventanas ??? En la AWT todas las componentes son “sordas” a la mayoría de los eventos que suceden Tenemos que ponerles “orejas” para que escuchen los eventos que son generados por el ambiente Luego tenemos que programar la forma como reaccionar ante los eventos que escuchen estas componentes

Hay una constante comunicación entre el sistema operativo y un programa java Paint Event (does not need special ears) Window Event Mouse movement Event Mouse click Event Focus Event

Poniendole oidos a las componentes f.addWindowListener( new OidoVentana()); ......... class OidoVentana implements WindowListener() { public void windowClosing(WindowEvent e) { System.out.println("bye "); System.exit(0); } public void windowActivated(WindowEvent e) { ..... Los métodos están predefinidos por la interfaz (para WindowListener son 9 y hay que implementarlos todos!!!!) el parámetro que recibe tiene información acerca del evento (quién lo generó, dónde sucuedió) dependiento del tipo de evento (ver Japan3.java)

Hay diferentes tipos de listeners (orejas) para un conjunto de eventos void addWindowListener(WindowListener a): para oir eventos de ventanas tales como windowActivated, windowClosing, windowDeactivated, windowIconified y otros 5 más void addMouseListener(MouseListner a): para oir mouseReleased mouseClicked, mousePressed, mouseEntered, mouseExited void addMouseMotionListener(MouseMotionListener a): para mouseMoved, mouseDragged void addActionListener(ActionListener a): para actionPerformed solamente !!!!!!importante, esto se usa mucho void addKeyListener(KeyListner a): para keyPressed, keyReleased, keyTyped

Un ejemplo de Eventos del Mouse 400 ColorWindow 4 1 ChalkBoard 5 200 2 3 Por cada click se dibujará un círculo rellno de un color distinto con un número ascendente. (see ColorWindow.java ChackBoard.java)

Escuchando al Mouse Localización del click Las coordenadas son locales addMouseListener( new OidoMouse() ); public class OidoMouse implements MouseAdapter { public void mousePressed(MouseEvent e) { System.out.println("mouse at "+e.getX()+"-"+e.getY()); } ... Escribir mouseReleased, mouseClicked Localización del click Las coordenadas son locales a la componente !!! 0,0 es el borde izquierdo superior - mouseReleased - mouseClicked 0,0 Y X

Components y Containers Components son elementos que puedes ser usados para componer interfaces gráficas: botones, áreas de texto, etiquetas, menús etc... Containers son aquellas componentes que pueden contener otras componentes. Frame, Window, Panel. El Paner se usa generalmente para agrupar un conjunto de componentes en una regíon

Let’s make a better interface for setting a new time Fields for input of hours, minutes and seconds A button to set the values given in the filds ClockX4

Ejemplo Contemos cuantas veces ha sido presionado un boton ButtonWindow

Más ejemplos 2. Hagamos otra versión del jalisco, con una variación en la forma de implementar el ActionListener Jalisco

Selecting the image file to load We will first develop whis object. The image file will be a parameter ImageViewer2

Selecting the image file to load This object will create one of the Image object after a name on the list is selected

Selecting the image file to load The program will find the names of image files in the current directory ListImages

Ubicando Componentes en un Contenedor Hasta ahora siempre habíamos definido que el LayoutManager de un contenedor era null, Con esto nos hacíamos responsables de ubicar y determinar el tamaño de las componentes que poníamos dentro del contenedor, lo que permanecía fijado, sin importar el tamaño del contenedor Usar un LayoutManager requeire de menos programación ya que el tamaño y ubicación de las componentes es fijado por aquel, a veces con mejores resultados

Los Layout Managers El FlowLayout manager pone los componentes en una fila de izquierda a derecha (en el orden en que fueron incorporados al contenedor) hasta que no hay más espacio. De ahí empieza a colocarlos en la siguiente línea. (ver Flow1) El GridLayout define una grilla de filas y columnas en donde los componentes deben ser puestos. El tamaño de las componentes es el mismo para todas y se modifica con el tamaño del Frame!!!!. (ver Grid.java ) El BorderLayout manager define 5 regiones en el contenedor: North, South, East, West , y Center para poner las componentes, esto implica que solo 5 componentes pueden ser puestas. (border 1 y 2) Mucha veces estas componentes son paneles que a su vez, contienen otras componentes (ver dibujo.java y votos.java)