Java Applets Ing Martn Jimnez Java n n

  • Slides: 23
Download presentation
Java Applets Ing. Martín Jiménez

Java Applets Ing. Martín Jiménez

Java n n n Diseñado para resolver gran número de problemas en la práctica

Java n n n Diseñado para resolver gran número de problemas en la práctica de la programación moderna. JAVA se inició como una pequeña parte de un gran proyecto de desarrollo de software avanzado. Desarrollado por SUN Microsystems: n Proyecto Green (1991): Lenguaje para prescindir de un sistema operativo. n Proyecto Oak: Informática basada en red (teléfonos, TV interactiva) n Lenguaje Java: • Adaptable a cualquier sistema • Independencia de arquitecturas • Lenguaje universal

Caracteristicas de Java 1. 2. 3. ES ORIENTADO A OBJETOS: n Encapsulación n Herencia

Caracteristicas de Java 1. 2. 3. ES ORIENTADO A OBJETOS: n Encapsulación n Herencia n Polimorfismo ES DISTRIBUIDO: n Construido para interconexión TCP/IP. n Existen librerías para acceder e interactuar con protocolos como HTTP y FTP. ES ROBUSTO: n JAVA realiza verificaciones en compilación/ejecución n Maneja la memoria para eliminar las preocupaciones sobre liberación o corrupción de la misma. n Además de implementar arreglos auténticos en lugar de listas.

Caracteristicas de Java 4. 5. ES DE ARQUITECTURA NEUTRAL: n Compila su código y

Caracteristicas de Java 4. 5. ES DE ARQUITECTURA NEUTRAL: n Compila su código y lo envía a un archivo de tipo objeto (archivo extensión. class), que tiene un formato independiente de la arquitectura donde se ejecute. n Cualquier máquina que tenga el sistema de ejecución (runtime) puede ejecutar ese código objeto. ES SEGURO: n El código JAVA pasa pruebas antes de ejecutarse. n El código pasa por un verificador de formato de los fragmentos de código. n El código no produce desbordamiento de operadores de pila. n El tipo de parámetros de todos los códigos son conocidos y correctos. n No permite ocurrido ninguna conversión ilegal de los datos. n No hay ningún intento de violar las reglas de acceso y seguridad establecidas.

Caracteristicas de Java 6. 7. 8. ES PORTABLE: n Construye sus interfaces de usuario

Caracteristicas de Java 6. 7. 8. ES PORTABLE: n Construye sus interfaces de usuario a través de un sistema abstracto de ventanas (AWT) de forma que estas pueden ser implantadas bajo cualquier sistema operativo (UNIX , Microsoft, Linux o Mac). ES INTERPRETADO: n El interprete de Java puede ejecutar directamente el código objeto. No obstante, el compilador actual JDK es bastante lento. ES MULTIHILO: n Permite muchas actividades simultáneas en un programa. Los hilos son básicamente pequeños procesos o piezas independientes de un gran proceso.

Java Applet n n Un applet es un archivo tipo class que es especificamente

Java Applet n n Un applet es un archivo tipo class que es especificamente escrito (programado) para desplegar gráficaos en un Web Browser. Los applet se embeben en páginas web utilizando la etiqueta <APPLET> en HTML. Cuando corren en una página Web, los applets son “bajados” automaticamente y ejecutados por el Web Browser. Los applets se “despliegan” en el espacio que designamos para ellos en la etiqueta <APPLET>.

Java Applet n n Los appets permiten hacer cualquier cosa: n Desplegar gráficos n

Java Applet n n Los appets permiten hacer cualquier cosa: n Desplegar gráficos n Animaciones n Manejo de controles • Cajas de texto • Botones • Etc. Al usar Applets convertimos nuestra página en una página “activa”

La Clase AWT n n La popularidad inicial de Java se debe en gran

La Clase AWT n n La popularidad inicial de Java se debe en gran parte al AWT (Abstract Windowing Toolkit). La clase permite, entre otras cosas, el desplegar botones, etiquetas, menús, cajas combo, cajas de texto y varios otros controles que son comunes en interfases orientadas al usuario.

Las clases mas populares del AWT n n n Applet (crear un applet) Button

Las clases mas populares del AWT n n n Applet (crear un applet) Button (crear un botón) Canvas (crear un “lienzo” para dibujar) Checkbox (crea un checkbox) Choice (crea un control de elección) Label (crea una etiqueta) Menu (crea un menu) Combobox (crea una caja combo) List (crea una lista) Frame (crea un marco para aplicaciones windows) Dialog (crea una caja de diálogo)

Las clases mas populares del AWT n n n n n Panel (crea un

Las clases mas populares del AWT n n n n n Panel (crea un panel que contiene otros objetos) Popup Menu (crea un menu Pop Up) Radio. Button (crea un botón de radio) Scroll. Bar (crea una barra de scroll) Scroll. Pane (crea una superficie “scrolleable”) Text. Area (crea un control de texto de dos dimensiones) Text. Field (crea un campo de texto unidimensional) Text. Pane (crea una superficie de texto) Window (crea una ventana libre)

Ejemplo de applet usando AWT import java. awt. *; import java. applet. *; public

Ejemplo de applet usando AWT import java. awt. *; import java. applet. *; public class Ejemplo extends Applet { public void init() { } public void paint(Graphics g) { g. draw. String("Welcome to Java!!", 50, 60 ); } }

Llamando al applet <HTML> <HEAD> </HEAD> <BODY BGCOLOR="000000"> <CENTER> <APPLET code = “Ejemplo. class"

Llamando al applet <HTML> <HEAD> </HEAD> <BODY BGCOLOR="000000"> <CENTER> <APPLET code = “Ejemplo. class" width = "500" height = "300" > </APPLET> </CENTER> </BODY> </HTML>

Estructura de un Applet n Secciones importantes de un applet: Todas las secciones que

Estructura de un Applet n Secciones importantes de un applet: Todas las secciones que se requieren para construir un applet pueden aparecer u omitirse dependiendo de las necesidades de la aplicación. n Sección init: En este método es donde se declaran e instancian las variables y objetos que se usarán en un applet. Es el primero en ejecutarse al cargarse un applet. Solo se manda llamar la primera vez que se carga el applet. n Sección start: El contenido de este método se ejecutará cada vez que se vuelva a cargar el HTML que contiene el applet. n Sección paint: En este método es donde se indica que es lo que se quiere desplegar, se manda llamar automáticamente cada vez que se desea que el contenido de una applet sea desplegado. n Existen otras secciones no tan relevantes como el update, destroy, repaint y stop

¿Cómo se programan eventos en Java? n n n Un programa escrito en Java

¿Cómo se programan eventos en Java? n n n Un programa escrito en Java maneja los eventos con lo que se conoce como esquema de delegación. Bajo el esquema de delegación dos son los principales elementos que interactúan: 1. El objeto que genera el evento. 2. El objeto que escucha el evento y a través de la instanciación de una clase implementa el código necesario para manejar el evento. Las características sobresalientes del modelo de delegación son las siguientes: 1. Todo componente puede ser la fuente de un evento. 2. Cualquier clase puede escuchar un evento, para esto debe indicarse que esa clase tendrá una interfase para escuchar. 3. El evento generado solo se envía a los objetos que se registraron como “escuchadores”.

Pasos para definir eventos 1. 2. 3. 4. Definir cuál objeto generará eventos y

Pasos para definir eventos 1. 2. 3. 4. Definir cuál objeto generará eventos y sobre quién. Implementar la clase que escuchará dependiendo del evento generado. (interfase) Identificar los eventos que se realizarán dentro de la clase que escucha. Programar el código dentro de los eventos definidos en el paso 3, que a su vez están dentro de la clase que escucha. n Cada uno de los pasos anteriores se traduce en código que debe conocerse y/o programarse.

1. Definir cuál objeto generará eventos n a. b. n Pasos: Agregar al inicio

1. Definir cuál objeto generará eventos n a. b. n Pasos: Agregar al inicio la inclusión de la clase java. awt. event. *: import java. awt. event. *; Antes de hacer el add del objeto indicar que se desea que se escuchen los eventos de este objeto, para esto se utilizará el método add. XXXListener(nombre_clase); donde XXX indica el tipo de evento que se manejará: Nombre_objeto. add. XXXListener(nombre_clase); ¿Qué tipos de valores puede tomar XXX? ¿Qué objetos lo pueden usar?

A continuación se muestran los objetos que pueden generar eventos y el valor que

A continuación se muestran los objetos que pueden generar eventos y el valor que tomaría XXX en cada caso Descripción del evento Objeto que lo genera Método listener Detecta el evento click cuando se selecciona el objeto. Button, List , Text. Field, Menu. Item add. Action. Listener(clase que escucha); Detecta el evento de seleccionar un elemento del objeto Checkbox, List, Choice add. Item. Listener(clase que escucha); Detecta cuando se ha presionado una tecla Component, Button, Checkbox, Text. Field add. Key. Listener(clase que escucha); Detecta cuando se hace algo sobre una ventana(cerrar, resize) Window, Dialog, Frame add. Window. Listener(clase que escucha); Movimiento a lo largo de una ventana u otro objeto Scrollbar add. Adjustment. Listener(clase que escucha);

2. Implementar la clase que escuchará La clase que escucha es una interfase entre

2. Implementar la clase que escuchará La clase que escucha es una interfase entre el add. XXListener especificado en el objeto que genera el evento y los eventos que se desean identificar. n Pasos: a) Crear el encabezado de la clase que escucha: class nombre_clase implements XXXListener{ //contenido de la clase } b) Programar el contenido de la clase (esto se convertirá en el paso ). n n ¿Qué tipos de valores puede tomar XXX? ¿Qué escuchará la clase?

A continuación se muestra cómo implementar el encabezado de la clase que escucha dependiendo

A continuación se muestra cómo implementar el encabezado de la clase que escucha dependiendo del método listener utilizado: Método listener Clase que escucha add. Action. Listener(nombre_clase); class nombre_clase implements Action. Listener{ //Acciones} add. Item. Listener(nombre_clase); class nombre_clase implements Item. Listener{ //Acciones} add. Key. Listener(nombre_clase); class nombre_clase implements Key. Listener{ //Acciones} add. Window. Listener(nombre_clase); class nombre_clase implements Window. Listener{ //Acciones} add. Adjustment. Listener(nombre_clase); class nombre_clase implements Adjustment. Listener{ //Acciones}

3. Eventos dentro de la clase que escucha Cada clase tiene sus propios eventos,

3. Eventos dentro de la clase que escucha Cada clase tiene sus propios eventos, estos se definen dentro de la clase a través de la programación de métodos: Método listener Clase que escucha Método que programa el evento add. Action. Listener(nombre_clase); class nombre_clase implements Action. Listener{ //Acciones} public void action. Performed(Action. Event nombre_evento) {//Código} add. Item. Listener(nombre_clase); class nombre_clase implements Item. Listener{ //Acciones} public void item. State. Changed(Item. Event nombre_evento) {//Código} add. Adjustment. Listener(nombre_cla se); class nombre_clase implements Adjustment. Listener{ //Acciones} public void adjustments. Value. Changed(Adjustment. Event nombre_evento) {//Código}

3. Eventos dentro de la clase que escucha Cada clase tiene sus propios eventos,

3. Eventos dentro de la clase que escucha Cada clase tiene sus propios eventos, estos se definen dentro de la clase a través de la programación de métodos: Método listener add. Key. Listener(nombre_clase); Clase que escucha class nombre_clase implements Key. Listener{ //Acciones} public void key. Pressed(Key. Event nombre_evento) {//Código} public void key. Released(Key. Event nombre_evento) {//Código} public void key. Typed(Key. Event nombre_evento) {//Código} class nombre_clase implements Window. Listener{ //Acciones} public void window. Closed(Window. Event nombre_evento) {//Código} public void window. Closing(Window. Event nombre_evento) {//Código} public void window. Opened(Window. Event nombre_evento) {//Código} ***Esto también funciona para detectar eventos del mouse, cambiando el Key por Mouse*** add. Window. Listener(nombre_clase); Método que programa el evento

4. Programar el código de los eventos n 1. a. b. Cada evento es

4. Programar el código de los eventos n 1. a. b. Cada evento es en realidad una clase que tiene sus propios métodos y atributos, por lo tanto analizaremos algunos métodos importantes de cada evento instanciado a partir de una clase: Clase Action. Event: Esta clase se activa en el momento que se da un “click” sobre un botón, , un doble “click” en un elemento de una lista, seleccionar una opción de un Menú o presionar enter en una caja de texto. Método get. Action. Command: Sintáxis: Variable_String=Nombre_evento. get. Action. Command(); • Regresa una variable String que identifica la fuente del evento, normalmente es el texto de un Button, el texto de un item de un List, el contenido de un Text. Field o el texto de un Menu. Item. Método set. Action. Command(): Sintáxis: Nombre_evento. set. Action. Command(variable_string); • Sirve para cambiar el texto de un Botón o de un Menu. Item como consecuencia de algo.

4. Programar el código de los eventos n Debido a que la clase anterior

4. Programar el código de los eventos n Debido a que la clase anterior maneja Strings es importante conocer algunas características de esto: n Los Strings NO son tipos de dato en Java, son una clase especial que permite manejar arreglos de caracteres como si fuesen otro tipo de dato. n La clase String tiene sus propios métodos y atributos que permiten hacer una serie de cosas, a continuación están los más importantes: 1. Método value. Of: Convertir un tipo de dato primitivo a String, su sintáxis es la siguiente: Variable_string=String. value. Of(nombre_variable); 2. Método equals: Comparar el contenido de un String contra otro String, devolviendo un valor boolean su sintáxis es la siguiente: Variable_string. equals(otra_variable_string);