Abriendo Ventanas en la Pantalla

Slides:



Advertisements
Presentaciones similares
Aplicaciones GUI en Java
Advertisements

Programación Orientada a Objetos
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.
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.
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.
:: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
VISUALBEE. VisualBee es un software que te permite mejorar tus presentaciones mismos viejos en una presentación llena de gráficos de gran alcance. Para.
USO DE LOS SISTEMAS DE ARCHIVO DE UN ORDENADOR DIRECTORIOS CARPETAS ARCHIVOS TIPOS DE ARCHIVOS (nombres y extensiones)
TRABAJAR CON JCross. Introducción de los datos del ejercicio Al arrancar JCross nos encontramos una cuadrícula en blanco.
HTM L (Hyper Text Markup Language). ¿Qué es HTML? Es el lenguaje que permite escribir texto de forma estructurada, y que está compuesto por etiquetas,
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 de Interfaces Gráficas en Java Objetivo: Programar aplicaciones con interfaces gráficas usando objetos gráficos de Swing y definidos por.
INTRODUCCIÓN AL PROGRAMA ADOBE INDESIGN
Programación orientada a objetos
LECCION DE PROGRAMACION EV3 PARA PRInCIPIANTES
HERRAMIENTAS DE INFORMATICA
Programación Orientada a Eventos
POLITECNICO INDES COROZAL
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
REPRODUCTOR WINDOWS MEDIA
Exception Object Throwable Error Exception Runtime Exception.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
COMO CREAR UNA PAGINA WEB EN HTML
RESUMEN POWERPOINT POWERPOINT BÁSICO.
Programación Orientada a Objetos
Programación Orientada a Objetos
MANEJO DE ARCHIVOS DIGITALES
Interfaces Gráficas de Usuario
Interfaces Gráficas de Usuario
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Programación Orientada a Objetos
Cortes Vázquez Loredana García Santiago Diego
Como elaborar una página HTML
Tema 4 Lenguaje HTML Parte 4.
CÓMO CREAR UNA CUENTA EN WIKISPACES.COM.
Interfaces Gráficas de Usuario
INTRODUCIR DATOS En cada una de las celdas de la hoja es posible introducir textos, números o fórmulas. Aparecerán en dos lugares: en la celda activa y.
INSTITUTO TECNOLÓGICO SUPEROR DE LIBRES INGENIERÍA EN SISTEMAS COMPUTACIONALES TÓPICOS AVANZADOS ING.ELIZABETH DIAZ OREA 4° SEMESTRE INTEGRANTES: ESMERALDA.
Qué son y características generales
TABLAS DINÁMICAS Tablas dinámicas son una excelente forma de resumir, analizar, explorar y presentar los datos. Tablas dinámicas son muy flexibles y se.
INSTITUTO TÉCNOLOGICO SUPERIOR DE LIBRES
Información Básica.
Excel.
Curso de Programación Web html, java script
Word.
El botón office: están las tareas de nuevo documento, de crear un documento, así como la tarea de imprimir. También se muestras los documentos abiertos.
HTML. El lenguaje de marcas de hipertexto
Tutorial Holdings Management (Administración de Recursos)
ENTORNO GRÁFICO DE VISUAL ESTUDIO
TABLAS DINÁMICAS Tablas dinámicas son una excelente forma de resumir, analizar, explorar y presentar los datos. Tablas dinámicas son muy flexibles y se.
Programación de Interfaces Gráficas en Java
Interfaces Gráficas de Usuario
Como ser inserta un organigrama y como se modifica
Unidad 4: LibreOffice Impress
Unidad 3: Libre Office Calc
Lenguajes del lado del cliente
Abriendo Ventanas en la Pantalla
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
Agustín J. González ELO-329
Guía Básica de HTML.
INTERNET: Por medio de este icono podrá conectarse a Internet y podrá acceder a la red de redes. 4-PAPELERA DE RECICLAJE: En este icono.
Transcripción de la presentación:

Abriendo Ventanas en la Pantalla Existen clases de objetos en java que permiten abrir ventanas en la pantalla, estas clases vienen en el paquete de clases llamado Swing y AWT (se deben importar) Estos objetos en general se llaman COMPONENTES Las componente básica para abrir ventanas es el JFrame y el JWindow. Otros elementos (como botones, barras de menús etc. ) deben ser colocados dentro de un JFrame

Creando Frames JFrames 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 JFrame puede crearse de varias maneras, es decir tiene varios constructores: JFrame f = new JFrame() JFrame f = new JFrame(“Hello”); Para que estas componentes sean visibles se le deben asignar un tamaño y hacerlas visibles f.setBounds(x,y,ancho,alto) f.setVisible(true); Ver programa Windows.java

Mostrando Frames Los siguientes son algunos métodos que se le pueden aplicar a objetos de esta clase f.setLocation(int x,int y) f.setBounds(int x, int y, int alto, int ancho); f.setBackground(Color c) f.setCursor(Cursor c) f.setForeground(Color c) ContentPane p = f.getContentPane() p.add(Component c)

Poniendo cosas dentro del Frame Pondremos un objeto de tipo Panel dentro del Frame y “pintaremos” dentro del Panel. Para pintar en un objeto de la clase Panel “normalmente” se crea un tipo de objeto nuevo que es una extension del panel y se re-escribe el método paint Dentro del método paint van las intrucciones para pintar lo que uno desea que se vea sobre esa componente (panel) Japan

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

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.

Veamos otro ejemplo Pintaremos la bandera de Alemania 1/3 1/3 atura ancho

“pintando” texto 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

Mas Ejemplos Pintaremos un reloj que da la hora que tiene guardada ClockX3.java Hagamos ahora un reloj al que le cambiaremos la hora cada segundo ClockX.java

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]

Ejercicio: La bandera Chilena 1/3 1/2 alto 1/2 ancho

La Estrella(Aprox)

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)

Graficar una función y=f(ax2+bx +c) desde x1 hasta x2 usando todo el espacio disponible Funcion VentanaFuncion Y Ventana7 X X2 X1 Funcion: clase que implementa la función con un método evaluar(x) VentanaFuncion: Clase donde se dibuja

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

Components y Containers Un texto: Label TextField Boton 1 Boton 1 Boton 1 Panel con Button Boton 1 Frame Frame y Panel son además contenedores

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

Seleccionando Imágenes Primero vamos a desarrollar este objeto que contiene una imagen. ImageViewer2

Seleccionando imágenes… La lista será Creada con los nombres de archivos de imágenes en el directorio actual

Selecting the image file to load Al seleccionar uno, se creará el objeto Imagen con el archivo seleccionado 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)

Más Componentes Menu: un item en la barra de menú de un Frame. Sólo se pueden poner componentes Menu en un Frame. Estos aparecerán de derecha a izquierda según el orden en que incluyeron MenuItem: para poner itemes en un menú. Sólo se pueden agregar a un elemento Menú Choice:para tener una lista de valores (Strings) de los cuales elegir RadioButtons: botones que se agrupan en conjuntos de entre los cuales uno solo puede estar seleccionado Ver Editor2.java

Java Applets Applets son programas java que se bajan y corren en el contexto de una página web Request a page Animator.class Html Animator.class Java program running on the client <applet code=Animator.class > </applet>

Cómo esplicar qué es realmente un applet ? Para personas espertas en Java es muy fácil: es una extensión de un Panel. Por lo tanto se puede hacer lo mismo Bla Bla Bla Bla The html viewer The applet Bla Bla Bla Bla

How do I link an Applet in my HTML Page ? <HEAD> <TITLE> My first Applet </TITLE> </HEAD> <BODY> ....... Así se adhiere un applet a una página Web <APPLET CODE = “MyApplet0.class” WIDTH=150 HEIGTH=25> </APPLET> ..... </BODY> Debe existir un applet programado en un archivo con el Nombre MyApplet.java y complado

Programando Applets El Hello world applet import java.applet.*; import java.awt.*; public class MyApplet0 extends Applet { public void paint(Graphics g) { g.drawString(“Hello World”,50,25); }

Ejemplos de Applets Que dibuja este Applet firstApplet.html MyApplet1.java secondApplet.html 2. Un applet que reacciona a clicks del mouse MyApplet2.java El Clock como Applet ClockApplet.html ClockX4Applet.java

Un Applet especial 4. Este applet cargará otra página web siteTextApplet.html 4. Este applet cargará otra página web 5.un applet con un thread siteTextApplet.java clock2Applet.html ClockX2Move.java