22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.1 JAVA APPLETS Silvia Larrayoz Leire Urriza.

Slides:



Advertisements
Presentaciones similares
UNIVERSIDAD PRIVADA SAN PEDRO ESCUELA INGENIERIA CIVIL
Advertisements

Características Generales y Entornos de Desarrollo
Interprete o máquina real
Curso de java básico (scjp)
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Programación Interactiva Introducción a Java
22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.1 Clases y Objetos Silvia Larrayoz Leire Urriza.
ÍNDICE Introducción. Trabajar con Applets. Definición de Applet.
Lenguaje de programación Java
Programación “Conducida por eventos” Event-driven programming
INTRODUCCIÓN A JAVA.
Java Applets Ing. Martín Jiménez.
“Programación orientada a Objetos II”
Curso de Java y Aplicaciones Web
EI, Profesor Ramón Castro Liceaga APLICACIONES DE JAVA CON PAGINAS WEB (Applets) UNIVERSIDAD LATINA (UNILA)
Jesús Arellano. La plataforma Java Micro Edition, o anteriormente Java 2 Micro Edition(J2ME), es una especificación de un subconjunto de la plataforma.
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.
M.C. Juan Carlos Olivares Rojas
HERENCIA.
 son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa.
TEMA 1. Diseño de interfaces gráficas
Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO330.
Herencia e Interfaces.
Aplicaciones GUI en Java
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
Un hilo es un único flujo de ejecución dentro de un proceso. Un proceso es un programa ejecutándose dentro de su propio espacio de direcciones. Los.
El lenguaje de programación Java
Una java servlet es un programa que se ejecuta en un servidor. Por lo general son aplicaciones Java que corren en un entorno de servidor web. Los Java.
Introducción a la Programación. Lenguaje de Máquina.
Curso Programación en Java
1 TEMA 6. Applets y servlets 1.Introducción 2.Applets 3.Servlets.
Servicios Web. Servicios web Son programas con funcionalidad accesible a través de protocolo http que permiten la ejecución remota de métodos y funciones.
Capitulo # 4 herencia PROGRAMACION III UNIVERSIDAD
Tema 11: Excepciones Antonio J. Sierra.
Patrones Creacionales
Capítulo 5 - b: Hilos. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Ejemplo de hilos: un applet Un.
Applets Programación Dirigida a Objetos 3º Ingeniería Informática Curso 2005/2006 Joaquín Derrac Rus José María de Córdoba Zea.
Applets CONTENIDO ¿Que es un applet? Lo básico de un applet Ciclo de vida de un Applet Las etiquetas de HTML Pasando información a los applets.
JAVA: Applets Diseño de servicios web © María de los Santos PÉREZ HERNÁNDEZ.
Java Applets David Gil
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
Interfaces Graficas Profesor: Rodrigo Cruzat. Contenedores La ventana misma, que contiene botones, texto, etc… y donde se realizará la interacción JFrame.
1 Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO329/ELO330.
EI, Profesor Ramón Castro Liceaga Agosto de 2005 UNIVERSIDAD LATINA (UNILA) PROGRAMACION ORIENTADA A OBJETOS EN JAVA (Optativa) PROGRAMACION DE APPLETS.
Detalles Generales sobre Java
Java Applets como ejemplo de “Framework” Agustín J. González ELO-329.
Confidential // Neoris 1 Confidential // Do Not Reproduce without prior written permission from Neoris Servlets.
Applets.
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.
HERENCIA.
Utilització del vídeo en pàgines web Curs Universitat d’Estiu UIB-UOC 2008 Introducció al Tractament d’Imatges Digitals.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
El color El tamaño del texto Tipo de letra Listas.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Clases “ Es una Abstracción de un elemento del mundo real ”
1 Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO329/ELO330.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Entorno Gráfico Desacoplar Eventos. Jframe setResizable setTitle setSize setVisible Jpanel Layout GridBack SetBounds Jlabel Jbuttom Jchechbox Jradio.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Constructores Los constructores inicializan nuestra clase, le dan un estado inicial estable listo para su uso. Siempre que declarábamos una variable numérica.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.1 JAVA APPLETS Silvia Larrayoz Leire Urriza

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.2 Un applet es un programa Java con la capacidad de ser incluido en una página web y correr dentro de un navegador. Un applet es un panel que va dentro de una página Web No se ejecutan con conocimiento del usuario. Restricciones (para no violación de intimidad del visitante de la web: No pueden ejecutar programas locales Sólo pueden comunicarse con servidor de la web No pueden acceder al sistema de ficheros local No pueden sacar info de la máquina en la que corre (sólo S.O, versión de la máquina virtual de Java...) No puede acceder al disco, la impresora o la red (a no ser de que haya sido firmado digitalmente) Recientemente  applets firmados para garantizar quien hizo el programa. INTRODUCCIÓN

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.3 Generar página HTML con código adecuado para cargar el applet Eliminar el método main  browser crea el applet Extender nuestra clase a JApplet en vez de a JFrame Eliminar llamadas a setSize y setTitle (HTML se encarga) Eliminar llamadas a addWindowListener() Reemplazar constructor por el método init() Hace pública la clase del applet APLICACIÓN  APPLET

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.4 Contenedor visual del estilo de Frame (JFrame) o Panel (JPanel) según la implementación (AWT o Swing) Clase Applet  AWT Clase JApplet  Swing LAS CLASES APPLET Y JAPPLET

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.5 No tienen método public static void main(String[] args) Tienen 5 métodos: public void init() Constructor del applet (para su inicialización) Sólo se ejecuta una vez en la vida del applet public void start() Se ejecuta después de init() Cada vez que volvemos a la página del applet, cada vez que haya que arrancarlo (reload, maximizar...) Se programan tareas que es necesario volver a arrancar cada vez que volvamos a cargar el applet (animaciones...) CICLO DE VIDA DE UN APPLET (I)

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.6 CICLO DE VIDA DE UN APPLET (II) public void stop() Para parar el applet cuando el navegador sale de la página del applet. Para liberar recursos Las tareas que se detienen aquí son las que arranca el método start() public void destroy() Cuando se cierra el navegador El applet deja de estar en la caché del navegador La próxima vez que lo arranquemos será como la primera vez

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.7 public void paint(Graphics g) Para escribir o pintar en el applet Se ejecuta cada vez que se necesita refrescar el applet CICLO DE VIDA DE UN APPLET (III)

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.8 Cargar el applet  init() + start() Salir y entrar a la página HTML  stop() + start() Cerrar navegador  stop() + destroy() EJEMPLO DE CICLO DE VIDA

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.9 Definición del applet: Esta etapa es la más compleja y consiste en definir una subclase de Applet o JApplet. En esta subclase se redefinen algunos métodos de Applet como init. Escribir la o lás páginas Web (en HTML) que referencian el applet: Consiste simplemente en agregar la etiqueta a alguna página Web. DESARROLLO DEL APPLET

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.10 [ ] Descripción: name  nombre del applet codebase  URL del applet (si es distinta a la del HTML) code  nombre de la clase ppal del applet (paquete y extensión) archive  archivos JAR o ZIP que contengan clases necesarias que deban ser precargadas por el navegador width  ancho del applet (en pixels) LA ETIQUETA (I)

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.11 height  alto del applet (en pixels) align  alineamiento del applet respecto al texto vspace  espacio a dejar por encima y por debajo del applet en pixels hspace  espacio a dejar por derecha e izquierda del applet en pixels alt  texto a mostrar en caso de que el navegador no sea capaz de mostrar el applet  para pasar parámetros al applet desde el exterior 2 métodos para acceder a los parámetros: public String getParameter(String name); public String[][] getParameterInfo(); LA ETIQUETA (II)

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.12 Ejemplo 18a del Java Hispano (conversión aplicación  applet) package org.javahispano.practica17a; import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JApplet; import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.SwingConstants; public class Calculadora extends JFrame implements ActionListener,KeyListener { private JTextField t=null; private int oper1=0; private int oper2=0; private String command=null; private boolean sw=true; 18 Hay que hacer que nuestra clase extienda a JApplet en vez de a JFrame EJEMPLO (Calculadora) (I)

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.13 public Calculadora() { this.setTitle(“Calculadora”); this.addWindowListener(newWindowAdapter(){ public void windowClosing(WindowEvent ev) { System.exit(0); } ); this.getContentPane().setLayout(new BorderLayout()) ; t=new JTextField(0); t.setBackground(Color.yellow); t.setHorizontalAlignment(SwingConstants.RIGHT); t.addKeyListener(this); JPanel aux=new JPanel(); aux.setLayout(new GridLayout(3,4)); JButton b=null; b= new JButton("1"); b.addActionListener(this); aux.add(b); b= new JButton("2"); b.addActionListener(this); aux.add(b); b= new JButton("3"); Sobraría porque un applet no se puede cerrar, es el navegador el encargado de inicializarlo y cerrarlo EJEMPLO (Calculadora) (II)

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.14 EJEMPLO (Calculadora) (III) b.addActionListener(this); aux.add(b); b= new JButton("+"); b.addActionListener(this); aux.add(b); b= new JButton("4"); b.addActionListener(this); aux.add(b); b= new JButton("5"); b.addActionListener(this); aux.add(b); b= new JButton("6"); b.addActionListener(this); aux.add(b); b= new JButton("-"); b.addActionListener(this); aux.add(b); b= new JButton("7"); b.addActionListener(this); aux.add(b); b= new JButton("8"); b.addActionListener(this); aux.add(b); b= new JButton("9"); b.addActionListener(this); aux.add(b); b= new JButton("="); b.addActionListener(this); aux.add(b); this.getContentPane().add(t,BorderLayout.NORTH); this.getContentPane().add(aux,BorderLayout.CENTER); }

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.15 //Se ha producido un ActionEvent public void actionPerformed(ActionEvent ev){ String aux=((JButton)ev.getSource()).getText(); if(aux.equals("+")||aux.equals("-")) { command=aux; oper1=Integer.parseInt(t.getText()); sw=true;} else if(aux.equals("=")) { oper2=Integer.parseInt(t.getText()); if(command.equals("+")) { t.setText(new Integer(oper1+oper2).toString()); oper1=oper1+oper2; // permite teclear un numero y “="(repitiendo el ultimo operador)} else { t.setText(new Integer(oper1-oper2).toString()); oper1=oper1-oper2; // permite teclear un numero y "="(repitiendo el ultimo operador) } sw=true; } else { if(sw) { t.setText(aux); sw=false; } else t.setText(t.getText()+ aux);}} EJEMPLO (Calculadora) (IV)

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.16 //Se ha producido un KeyEvent de tipo keyPressed public void keyPressed(KeyEvent ev){ } //Se ha producido un KeyEvent de tipo keyReleased public void keyReleased(KeyEvent ev){ char tmp=ev.getKeyChar(); if(!Character.isDigit(tmp)){ t.setText(t.getText().substring(0,t.getText().length()-1)); t.setCaretPosition(t.getText().length()); } //Se ha producido un KeyEvent de tipo keyTyped public void keyTyped(KeyEvent ev){ } package org.javahispano.practica17a; public class Practica17 { public static void main(String[] args){ Calculadora c=new Calculadora(); c.pack(); c.setVisible(true);}} Eliminamos el método main porque suele ser código para crear objeto de tipo frame. En nuestro caso será el navegador el encargado de crear nuestro objeto tipo applet EJEMPLO (Calculadora) (V)

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.17 Ejecutando el código (Run As Java Applet) se obtiene: EJEMPLO (Calculadora) (VI)

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.18 Para probarlo en un navegador… Práctica 18a Práctica 18a: Calculadora paqueteclase EJEMPLO (Calculadora) (VI)

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA (API Specifications y seleccionar versión Java) Piensa en Java (Segunda edición) Bruce Eckel BIBLIOGRAFÍA