Java Applets como ejemplo de “Framework” Agustín J. González ELO-329.

Slides:



Advertisements
Presentaciones similares
Características Generales y Entornos de Desarrollo
Advertisements

Programación Interactiva Introducción a Java
ÍNDICE Introducción. Trabajar con Applets. Definición de Applet.
Programación “Conducida por eventos” Event-driven programming
Java Applets Ing. Martín Jiménez.
"java del lado del servidor" Servlet y JSP Java Server Pages.
Curso de Java y Aplicaciones Web
EI, Profesor Ramón Castro Liceaga APLICACIONES DE JAVA CON PAGINAS WEB (Applets) UNIVERSIDAD LATINA (UNILA)
RMI Remote Method Invocation
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.
Introducción al Software
Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO330.
Tecnologías para el desarrollo de aplicaciones Web
Algunas Herramientas de Apoyo al Diseño de Software Agustín J. González ELO329: Diseño y programación orientados a objetos.
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.
Agustín J. González ELO329/ELO330
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
SISTEMA OPERATIVO Un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware de un computador y su propósito es proporcionar.
Diseño de Aplicaciones Web * En las aplicaciones web el diseño es muy diferente de las aplicaciones tradicionales dado que hay que dividir la aplicación.
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.
1 Nivel aplicación Interacción Cliente Servidor Agustín J. González ELO309.
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
Java Applets David Gil
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.
Hermilia Molina Acevedo
Agustín J. González ELO-329
Interfaces y Clases Internas ELO329: Diseño y Programación Orientados a Objetos.
Programación basada en eventos “Event-Based Programming”: Conceptos
1 Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO329/ELO330.
1 Interfaces y Clases Internas ELO-329: Diseño y programación orientados a objetos Agustín J. González.
Algunas Herramientas de Apoyo al Diseño de Software Agustín J. González ELO329: Diseño y programación orientados a objetos.
Programación de Interfaces Gráficas en Java
Programación Gráfica Agustín J. González ELO329/ELO330.
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
Folletos/Noticias Lecturas Auto-Evaluación Recursos de Internet.
LOGO e-Learning Desktop Integración de RIA’s a objetos de Aprendizaje Alvaro Rodríguez, Darvin Orozco, Rocael Hernández Universidad Galileo {alvrodriguez,
EI, Profesor Ramón Castro Liceaga Agosto de 2005 UNIVERSIDAD LATINA (UNILA) PROGRAMACION ORIENTADA A OBJETOS EN JAVA (Optativa) PROGRAMACION DE APPLETS.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
MIME EXTENSIONES DE CORREO INTERNET MULTIPROPÓSITO. SERIE DE ESPECIFICACIONES DIRIGIDAS AL INTERCAMBIO TRANSPARENTE DE TODO TIPO DE ARCHIVOS A TRAVÉS DE.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
 Este protocolo opera a través de solicitudes y respuestas, entre un "cliente" y un "servidor". El cliente para los usuarios es el navegador web, usado.
 Es un programa escrito en Java y que forma parte de los componentes de una página de Internet. Los Applets han sido usados para proporcionar funcionalidad.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) LENGUAJES DE PROGRAMACIÓN PARA EL DESARROLLO DE INTERFACES.
Programación de Interfaces Gráficas en Java
Desarrollo DE apps móviles
Unidad 7 Escritorio de Windows.
Navegadores Web..
Applets.
Software.
Alumno: Israel Espinosa Jiménez Matricula: Licenciatura: TIC Asignatura: Programación con Lenguajes de Cuarta Generación Cuatrimestre: 5 Página.
22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.1 JAVA APPLETS Silvia Larrayoz Leire Urriza.
LAS PAGINAS WEB. LAS PAGINAS WEB ¿QUE ES UNA PAGINA WEB? Una página Web, también conocida como una página de Internet, es un documento electrónico.
Desarrollo DE apps móviles
Tutor: Ing. Juan E. Talavera Horn 2010 Google Web Toolkit (GWT)
Elementos y tipos de sistemas operativos
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
CONCEPTOS INTRODUCTORIOS FILOSOFÍA DE WINDOWS Preparado por: Dr. Nelliud D. Torres Curso: GEIC-1000 Universidad Interamericana de Puerto Rico Recinto de.
1 Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO329/ELO330.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
:: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
1 Java Applets como ejemplo de “Frameworks” Agustín J. González ELO-329.
Java Applets como ejemplo de “Framework”
Java Applets como ejemplo de “Framework”
Java Applets como ejemplo de “Frameworks”
Java Applets como ejemplo de “Frameworks”
Transcripción de la presentación:

Java Applets como ejemplo de “Framework” Agustín J. González ELO-329

ELO-329: Diseño y Programación Orientados a Objetos Frameworks Def. Inglés: the basic structure of something : a set of ideas or facts that provide support for something Un framework (“marco de trabajo”) es un conjunto de clases que implementan servicios comunes de un cierto tipo de aplicación. Para construir una aplicación, el programador deriva de alguna de las clases del framework y agrega las operaciones específicas de su aplicación. Swing es un framework para desarrollar interfaces gráficas. Por ejemplo: considere la clase JFrame para describir una ventana gráfica de una interfaz usuario. Se espera que otras clases sean derivadas de ésta para proveer implementaciones de operaciones como dibujar su contenido. Cada ventana debe saber como re-dibujarse cuando es restaurada desde el icono, o expuesta luego de ser cubierta por otra ventana.

ELO-329: Diseño y Programación Orientados a Objetos Frameworks: Ideas relacionadas Empresa constructora: Supongamos que usted tiene una empresa constructora. Por razones de economía y eficiencia, dispone de 5 tipos de casas para sus clientes. Como es razonable que el usuario participe definiendo sus requerimientos, la empresa le da la posibilidad que él elija algunos aspectos como: tipo de ventanas, piso, techo, y terminaciones en general. Además puede dejar cosas para que el cliente las haga por su parte. Framework Ofrecido por el framework Programador

ELO-329: Diseño y Programación Orientados a Objetos Frameworks (cont)‏ Ejemplo: cuando un área que acepta scrolling es movida, la operación que maneja esta labor se encarga de solicitar el pintado de la porción de la imagen ahora expuesta. La clase base no tiene idea sobre qué se está pintando, pero sabe cuándo es necesario. La clase base llama métodos redefinidos por la clase derivada o métodos de alguna interfaz que otra clase debe implementar. La programación sobre un framework incluye programar las acciones ante eventos como: pintado, comandos de menu y clicks del mouse. Cuando un método termina, el control vuelve al framework. Nuevamente reconocemos el comportamiento conocido como programación basada en eventos (event-based programming)‏ La idea no es que el usuario deba conocer todos los detalles sobre el manejo la interfaz usuario, sino sólo las operaciones claves que le son de interés.

ELO-329: Diseño y Programación Orientados a Objetos Applet como un framework simple Un applet es un programa Java especial que está preparado para correr como parte de una página web. El applet es cargado y ejecutado por el navegador Web. Permite agregar interactividad y dinamismo a una página Web. (Ver página demo applets del jdk)‏ Servidor WEB Página *.html Con *.class entre marcas y Navegador WEB firefox, chrome, Inter. explorer Máquina virtual Java Se ejecuta método main del applet 1. Solicita URL.html 2. Envía archivo *.html 3. Solicita archivo *.class 4. Envía archivo *.class 5. Crea un hilo para MVJ 6. Interpreta el código del applet

ELO-329: Diseño y Programación Orientados a Objetos Evolución en modo de ejecución En sus orígenes las applets se ejecutaban sólo en el navegador HotJava de Sun. Luego la máquina virtual se incluyó en los Netscape e Internet Explorer, pero quedaba rápidamente obsoleta. Luego Sun creó un Plug-in para permitir actualizaciones más rápidas. Ejecuta las applets usando el jre (java Runtime environment) externo al navegador. Los navegadores permiten ver qué plugins poseen; por ejemplo, en firefox ver poner en URL: about:plugins

ELO-329: Diseño y Programación Orientados a Objetos Inclusión de un Applet en una página En HTML (HyperText Markup Language) el rótulo permite incluir un applet en la página. Cuando el navegador encuentra el rótulo, éste requiere del servidor WEB el archivo especificado por el parámetro “code”. Ejemplo de applet en archivo *.html: <applet code="NotHelloWorldApplet.class" width="300" height="100"> El navegador crea un hilo separado para que cada applet se ejecute concurrentemente.

ELO-329: Diseño y Programación Orientados a Objetos Ciclo de vida de un Applet Un applet debe ser subclase de Applet (o JApplet), la cual provee provee la interfaz entre el applet y el navegador. Una vez cargada el applet, una instancia del applet es creada e inicializada (llamando a init()). Luego se invocarán métodos sobre el applet para: Iniciar su ejecución, start() Detener su ejecución, stop() Hacer limpieza final, cuando cerramos el navegador. Cuando el método start() es llamado, la apariencia del applet es desplegada (llamando a repaint()). El browser monitorea y controla los eventos asociados al applet (mouse, teclado, otros eventos, timers etc) y envía mensajes a los objetos manejadores de estos eventos que previamente deben ser registrados (event listeners) por el programador.

ELO-329: Diseño y Programación Orientados a Objetos Ciclo de vida de un Applet Applet init() start() stop() start() stop() destroy() Init: Al cargar el Applet Start: Luego de la carga y al volver a la página Stop: Al salir de la página y al cerrar el navegador Destroy: Al cerrar el navegador

ELO-329: Diseño y Programación Orientados a Objetos Eventos significativos y sus Métodos Para responder a los eventos significativos de un Applet debemos redefinir alguno de los siguientes métodos: public void init(): invocado al cargar el applet y para la inicialización del applet, no debería durar mucho para cargas rápidas. Éste puede ser pensado como el constructor. public void start(): es invocado luego de init, también es llamado cada vez que regresamos a la página. public void stop(): Si redefinimos start es buena práctica redefinir stop. Éste es invocada cada vez que salimos de la página. También al cerrar el navegador. Para ahorrar recursos deberíamos detener la ejecución iniciada con start. public void destroy(): Es llamado cuando el navegador es cerrado normalmente y después de llamar a stop. Se usa para liberar recursos no liberados por stop.

ELO-329: Diseño y Programación Orientados a Objetos Ciclo de vida de un Applet (cont)‏ Hay un problema cuando cambiamos un applet porque el navegador no la recarga al hacer un reload. Debemos cerrar el navegador o, Forzar la recarga del applet. El procedimiento para hacer esto depende del navegador que usemos. Las nuevas versiones de firefox sólo son compatibles con consolas de JRE 6u2 o superior. :-( Un applet se ejecuta bajo el control de un navegador o con el utilitario appletviewer. $ appletviewer Así es más fácil hacer pruebas antes de dejarla en un servidor web.

ELO-329: Diseño y Programación Orientados a Objetos Dibujando en un Applet La applet tiene un área de trabajo en la página del browser. El largo y alto son especificados en el rótulo Usualmente hacen uso de componentes GUI (Graphical User Interface) tales como botones, menús, etc. En este caso cada componente se encarga de su pintado. Si queremos hacer uso de componentes gráficas de Swing, debemos heredar nuestra applet de la clase JApplet. Si nosotros creamos contenido con el objeto graphics, debemos redefinir el método paint.

ELO-329: Diseño y Programación Orientados a Objetos Conversión de una aplicación en Applet Crear un html con el rótulo y la invocación al código de la misma. Crear una subclase de Applet o JApplet. Hacer la clase public. La subclase de Applet o JApplet no debe tener el método main. No construir un frame para la aplicación. La clase Applet ya lo tiene. Mover el código del constructor del Frame o JFrame al método init(). Remover llamados a setSize, se define en el html. No llamar a setVisible ni setDefaultCloseOperation

ELO-329: Diseño y Programación Orientados a Objetos Ejemplos. Calculadora Aplicación Java Calculator.java Applet creada: CalculatorApplet.java la implementación sin frame es: CalculatorPanel.java HTML asociado: CalculatorApplet.html Podemos ejecutar vía el navegador o a través de la aplicación appletviewer. > appletviewer CalculatorApplet.html

ELO-329: Diseño y Programación Orientados a Objetos Creación de ventanas desde un applet Son simples, sólo crear instancias de JFrame, pero no invocar setDefaultCloseOperation. Ejemplo: PopupCalculatorApplet.java PopupCalculatorApplet.html

ELO-329: Diseño y Programación Orientados a Objetos Seguridad en Applets Los visualizadores de Applets (navegadores) imponen restricciones se seguridad. Cada Applet posee un administrador de seguridad (Applet security Manager), el cual envía una SecurityException si se intenta violar alguna norma de seguridad. No pueden cargar bibliotecas ni definir métodos nativos. No pueden leer o escribir regularmente al disco local. Applets no pueden correr programas locales. No se pueden comunicar con otra máquina (vía red), salvo aquella de donde proviene. Las ventanas que un applet genera tienen un rótulo de advertencia. Para usar distintos niveles de seguridad, se puede usar un applet firmada (Signed applet)

ELO-329: Diseño y Programación Orientados a Objetos Atributos de rótulo applet El rótulo html admite varios atributos. Posición: width, height para el tamaño align que puede ser: left,right,bottom, top, middle, entre otros. Ubicación del código: code: indica el nombre del applet, codebase: (opcional) indica el directorio relativo a la ubicación del html donde se encuentra el código, archive: (opcional) lista de archivos.jar con código y otros recursos requeridos por el applet, alt: texto alternativo a desplegar en caso que no se pueda desplegar el applet.

ELO-329: Diseño y Programación Orientados a Objetos Paso de parámetros a un applet desde archivo html Se usa el rótulo html. Éste posee dos atributos: name and value. Name contiene el nombre del parámetro y value su valor. Ambos son de tipo texto. Luego desde Java es posible leer el valor del parámetro invocando el método getParameter() de la clase Applet. Ej: Luego leemos los parámetros como sigue: public class FontParameter extends JApplet { public void init() { String fontName=getParameter(“font”);..... } } Ejemplo: Chart.java Chart.html

ELO-329: Diseño y Programación Orientados a Objetos Multimedia e interacción con Navegador Applets pueden manejar imágenes y audio. La clase URL es muy útil para esta manipulación. Notar métodos de la clase Applet: getDocumentBase: retorna URL de la página donde proviene el html del applet getCodeBase: retorna el URL del código del applet. getImage, getAudioClip, y play nos permiten la lectura de imágenes y sonido, el cual reproducimos con play. Todos son métodos de Applet. Ver: TicTacToe.html

ELO-329: Diseño y Programación Orientados a Objetos Comunicación del applet con su entorno: Características más avanzadas Es posible comunicar varias applets de una misma página html. Es posible comunicar el applet con el navegador solicitando nuevas páginas html. El método usado es getAppletContext() de Applet. Ejemplo: Bookmark.html Bookmark.java Destacar: en ActionListener de Bookmark AppletContext context =getAppletContext(); context.showDocument(url,”right”);