Blog gratis
Reportar
Editar
¡Crea tu blog!
Compartir
¡Sorpréndeme!
programacionred
Blog de misonix3000
08 de Julio, 2011

progracion en red-applets

Autor: misonix3000, 11:48, guardado en General


Introducción

Sin duda uno de los pilares de Java es su dedicación a la programación en red. Esta programación crea aplicaciones distribuida desde una red.

La lentitud de Internet ha propiciado que las aplicaciones distribuidas sigan siendo problemáticas. Por ello se tiende a que la aplicación que se distribuye sea sencilla para conseguir que llegue lo antes posible.

 

De hecho la idea es que un usuario no perciba diferencia alguna entre una página con Java y una página sin Java. Esta idea no está conseguida del todo, pero sí se ha realizado un importante avanza mediante esos subprogramas Java incrustados dentro del código normal (HTML) de una página web. Estos subprogramas son llamados applets.

  


 

Applets

Son pequeños programas hechos en java que se transfieren con las paginas web y que el navegador ejecuta en el espacio de la pagina.

Estos se ejecutan en cualquier sistema operativo que contenga la JVM(maquina virtual de java)basándose su funcionamiento en los bytecodes.

Los bytecodes son archivos que contienen un código intermedio que maneja la maquina virtual de java(JVM),pues cada sistema operativo dispone de ello.

CICLO DE VIDA

Su ciclo de vida no es tan sencillo como los demás programas, pues este se ejecuta hasta que su método Main termine.

 

 Para que la página web HTML muestre el subprograma Java, tiene que incluir una etiqueta applet que es la encargada de asociar el archivo class que representa al subprograma con la página. Esa misma etiqueta determina la posición y el tamaño del applet <applet code=”applet1.class” width=”250” height=”300”>

</applet> Probar la applet implicar abrir la página, aunque el JDK de Java incluye un programa llamado appletviewer para mostrar el applet.

 

En definitiva los pasos para crear un applet son:

 

1.    Crear una página web dejando hueco para colocar el applet de Java.

2.    Crear el código de la applet y compilarlo en su archivo class correspondiente.

3.    Integrar la applet en la página insertando una etiqueta applet en la posición en la que se desea la applet. Los atributos width y height permiten especificar el tamaño de la misma.

4.    Al publicar la página se deben enviar los archivos HTML junto con los archivos class y los archivos necesarios para que la página y applet se vean correctamente (imágenes, hojas de estilo,...).

 

 

Probar applets. Appletviewer

 

Para probar applets basta con abrir la página web en la que se creó el applet. No obstante como esto a veces es muy pesado, el SDK de Java incorpora un visor llamado AppletViewer.

Para trabajar con este visor basta compilar el archivo java para obtener el precompilado class.

 

Después se llama al programa appletviewer pasando como parámetro el archivo java:

c:ejemplos>appletviewer applet.java

El resultado es una ventana que muestra el applet sin usar página web.

En el código java se puede incluir la etiqueta applet de HTML a fin de probar el applet con un tamaño y configuración concretos. Para ello se coloca la etiqueta en los comentarios del archivo:

import javax.swing.JApplet;

/* <applet code=”applet.class”

width=200 height=200>

</applet>

*/

public class applet extends JApplet{

...

 

Declaración

Todos los applets son subclases de la clase Applet, la cual se encuentra en el paquete:

§  java.applet

public class suApplet extends java.applet.Applet {

//código del Applet.

}

import java.applet.*;

public class suApplet extends Applet {

//código del Applet.

}

 

Clases

 

Clases Applet y JApplet

 

En AWT hay una clase pensada para crear applets. La clase se llama Applet y deriva de la clase Panel que, a su vez, deriva de Container. Swing creó una subclase a partir de ésta para asegurar la compatibilidad con los componentes Swing. Esta clase es JApplet.

Lógicamente si se usa la clase Applet para crear los subprogramas, se deben usar componentes AWT en su interior; si se usa JApplet se deben usar sólo componentes Swing.

 

 La clase Applet

Esta es la clase  de la cual heredaran todos los programas que vayan a actuar como applets.

Esta clase hereda de la clase Object(como todas las clases de java)y además de otras clases como Component y Container,que son dos clases del paquete de AWT.

Import java.applet.*;

Public class MiApplet extends Applet {

   //Cuerpo del “applet”.

}

 

La Clase Color

·         Sistema RGB (Red Green Blue)

·         Cada componente es representado con un entero de 0 a 255.

·         Para setear los colores:

g.setColor(Color.pink);

Color brush = new Color (255,204,102);

g.setColor (brush);

Algunos colores

ü  black (0,0,0)

ü  white (255,255,255)

ü  blue (0,0,255)

ü  yellow (255,255,0)

ü  magenta (255,0,255)

 La clase Font

Font f = new Font(“Dialog”, Font.BOLD + Font.ITALIC,24);

public void paint (Graphics screen) {

Font f= new Font(“TimesRoman”, Font.PLAIN,72);

screen.setFont(f);

screen.drawString(“HOLA”,10,100);

}

Ver DemoFont.java y DemoFont.html

Clase fontmetrics

ü  public int getAscent()

ü  public int getDescent()

ü  public int getLeading()

ü  public int getHeight()

ü  public int stringWidth(String str)

Clase Graphics

ü  Es parte del paquete java.awt

ü  Le permite dibujar texto, líneas, óvalos, círculos, rectángulos y otros polígonos.

ü  Todos los métodos que permiten dibujar serán llamados desde el método     paint ( ).

ü  La forma como los distintos sistemas operativos generan los gráficos es diferente, la clase Graphics, provee la interfase para permitirnos hacer programas que generen gráficos independientes de la plataforma.

 

Métodos de los Applets

 

Un applet tiene un ciclo de vida que está directamente relacionado con cuatro métodos definidos en la clase applet que es la clase padre de JApplet. Además posee métodos comunes con las clases Applet y Panel (al ser heredera de ellas)

·         Método init

·         Método start

·         Método paint

·         Método stop

·         Método destroy

 

Método init

Este método es llamado automática tras crearse el applet. Aquí se prepara el programa,los recursos necesarios, los elementos GUI, etc. No se deben realizar estas operaciones en el constructor. El constructor de un applet no está pensado para esto, sólo está para crear en sí el applet.

·         Este método es llamado una sola vez, cuando el applet es cargado en el browser.

·         En este método realiza la inicialización de un applet.

·         También dentro de este método:

ü  Se inicializan las variables del applet.

ü  Se crean los objetos que el applet necesita.

ü  Se cargan imágenes, sonidos o fonts.

·         El método init es heredado de la superclase Applet y se redefine (method overriding) si es necesario.

·         Este método se debe utilizar para realizar las acciones iniciales del applet: inicializar variables, distribuir los compontentes gráficos del applet, etc.

·         En general, el método init() debería contener el código que se pondría normalmente en un constructor.

·         La sintaxis del método init es:

 

 

public void init( )

{

//código

}

 

Método start

Es llamado cuando el programa se hace visible. Se le llama tantas veces sea necesario.

·         El método start es llamado:

ü  Luego de que se termina de ejecutar el método init.

ü  Cuando un usuario vuelve a visitar la página HTML donde está el applet, tras haberla abandonado momentáneamente.

ü  Cuando se minimiza la ventana del navegador y se ejecuta otra tarea, y se vuelve a ejecutar el applet maximizando la ventana del navegador.

·         Este método puede ser invocado algunas veces durante su ciclo de vida de un applet.

·         La sintáxis del método start es:

public void start ( )  

 {  

 //código

}

 

 Método paint

·         También es llamado, cada vez que un applet necesita ser pintado nuevamente.

·         Las acciones que se realizan en este método tienen que ver con el dibujo del objeto gráfico g que es automáticamente pasado como parámetro.

·         Este método es heredado de la clase java.awt.Container.

 

Método stop

Es llamado cuando el programa se hace invisible. Es decir, cuando se cierra la ventana de la página web en la que está incrustado el applet o cuando el usuario acude a otra página.

Es este método se debería detener las actividades innecesarias. Son innecesarias aquellas que no debería seguir realizándose cuando el programa está detenido; de otro modo se consumen recursos inútiles en el ordenador del usuario.

Por otro lado hay veces en las que puede interesar que el programa continúe realizando operaciones en segundo plano.

·         Detiene la ejecución de un applet.

·         Es llamado, cuando una página web contiene este applet ha sido reemplazada por otra página y también justo antes del método destroy.

·         La sintaxis de este método es la siguiente:

 

public void stop ( ) {

//código

}

 

  

Método destroy

Es el método que se implementa para eliminar todos los objetos antes de que el applet desaparezca. Cerrar sockets, eliminar objetos GUI, … son tareas habituales de este método. El método es llamado cuando se elimina del todo; esto es difícil de establecer ya que cada navegador realiza esta tarea en diferentes momentos.

·         Este método es llamado cuando el Applet está siendo removido de memoria.

·         Este método realiza las tareas que son necesarias para liberar todos los recursos que esté usando el applet.

·         La mayoría de los applets no necesitan sobrescribir el método destroy(), porque su método stop() (al que se llama antes) hace todo lo necesario para detener la ejecución del applet. Sin embargo, el método destroy() esta disponible para los applets que necesitan liberar recursos adicionales asignados.

·         La sintaxis de este método es la siguiente:

public void destroy ( ) {

//código

}

 

 

 

Otros métodos:

Método update

Esta es la función que realmente se llama cuando se necesita una actualización de la pantalla (en lugar de llamar directamente a la función paint()).

·         La clase Applet simplemente limpia el área y llama al método paint().

·         Las clases derivadas pueden sustituir esta funcionalidad para sus propósitos.

·         La sint á xis de este método es la siguiente:

public void update ( Graphics g ) {

//código

}

 

Método repaint

A esta función se la debería llamar cuando el applet necesite ser repintado.Llamando a este método se podrá forzar la actualización del applet.

·         Este es el método que habitualmente invocan los programadores de applets para refrescar el contenido del applet en pantalla.

·         Al llamar al método repaint(), internamente se llama a update() que borrará el rectángulo sobre el que se redibujará y luego a su vez llamará a paint().

·         La sintaxis de este método es la siguiente:

public void repaint ( ) {

//código

}

 

 

La etiqueta applet

 

La etiqueta applet tiene diversos atributos para controlar adecuadamente la carga y ejecución del applet. Los atributos se usan así:

<applet atributo1=’valor’ atributo2=’valor’...>

 

Los posibles atributos a utilizar son:

 

v  ARCHIVE: Indica el archivo JAR en el que está colocado el archivo class indicado en el atributo code.

v  CODEBASE: URL que indica el directorio en el que se busca el código de la applet. Si la applet está en un paquete o en un archivo JAR, este atributo hace referencia al directorio que contiene a ese paquete o archivo JAR.

v  CODE: Ruta a la applet desde el directorio anterior, o desde el directorio en el que está la página (si no se indicó codebase).Debe incluir la extensión class.

v  ALT: Texto alternativa a mostrar por los navegadores que no han cargado el applet por alguna razón.

v  NAME: Nombre del la applet en el navegador. Esto permite que las applets interactúen entre sí.

v  WIDTH: Anchura de la applet en la página.

v  HEIGHT: Altura de la applet en la página.

v  ALIGN: Alineación de la applet respecto a los elementos que la siguen.Los valores que más se usan para este atributo son left y right.

v  VSPACE: Espacio se deja en vertical alrededor de la applet.

v  HSPACE: Espacio se deja en horizontal alrededor de la applet.

 

 

 

 

 

 

 

Aplicaciones

Ejemplo Applet

import java.applet.Applet;

import java.awt.Graphics;

public class MiApplet extends Applet{

    public void paint(Graphics g){

        g.drawString("Hola,Bienvenidos a mi Web", 100,20);

        g.drawString("Applets", 150,40);

        g.drawString("Son pequeños programas hechos en java que", 30,60);

        g.drawString("se transfieren con las paginas web y que el", 30,80);

        g.drawString(" navegador ejecuta en el espacio de la pagina.", 30,100);

    }

 

}

 

 

 

 

 

 

ejemplo TEXTO

 

import java.awt.*;

import java.applet.Applet;

import javax.swing.*;

public class texto extends Applet{

    public TextField t1,t2;

 

public void init(){

    t1=new TextField(30);

    t2=new TextField(30);

    add(t1);

    add(t2);

    t1.setText("Bienvenidos a Java en applet");

    t2.setText("Autores Grupo 2");

}

 

 

 

ejemplo COLORES

 

 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        

        jLabel1.setForeground(new Color(255,0,0));

    }                                       

 

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        

         jLabel1.setForeground(new Color(0,0,255));

    }                                       

 

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                        

        jLabel1.setForeground(new Color(0,255,0));

    }   

 

 

 

 

 

Ejemplo RESULTADO

    private void jButton4MouseClicked(java.awt.event.MouseEvent evt) {                                     

        double d1,d2,suma;

        d1=Double.parseDouble(jTextField1.getText());

        d2=Double.parseDouble(jTextField2.getText());

        suma=d1+d2;

        jTextField3.setText(""+suma);

}

 

 

 

 

 

 

 

 

 

ejemplo FINAL

 

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        

        jLabel1.setForeground(new Color(255,0,0));

}                                       

 

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        

        jLabel1.setForeground(new Color(0,0,255));

}                                       

 

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                        

        jLabel1.setForeground(new Color(0,255,0));

}                                       

 

    private void jButton4MouseClicked(java.awt.event.MouseEvent evt) {                                     

        double d1,d2,suma;

        d1=Double.parseDouble(jTextField1.getText());

        d2=Double.parseDouble(jTextField2.getText());

        suma=d1+d2;

        jTextField3.setText(""+suma);

 

 

  

Linkografía

http://www.youtube.com/watch?v=C616b1vrbRM

http://www.youtube.com/watch?v=R1biwEFcdSM&feature=related

http://www.youtube.com/watch?v=Z1FJqt2UHvQ&NR=1

http://www.slideshare.net/javi2401/programacin-en-java-applets-presentation

 

 

Palabras claves
Sin comentarios  ·  Recomendar

img

Más sobre este tema ·  Participar
Comentarios (0) ·  Enviar comentario
Enviar comentario

Nombre:

E-Mail (no será publicado):

Sitio Web (opcional):

Recordar mis datos.
Escriba el código que visualiza en la imagen Escriba el código [Regenerar]:
Formato de texto permitido: <b>Negrita</b>, <i>Cursiva</i>, <u>Subrayado</u>,
<li>· Lista</li>
Sobre mí
FOTO

Adrian Diaz Alcantara

escuchar musica

» Ver perfil

Calendario
Ver mes anterior Abril 2024 Ver mes siguiente
DOLUMAMIJUVISA
123456
78910111213
14151617181920
21222324252627
282930
Buscador
Blog   Web
Tópicos
» General (2)
Nube de tags  [?]
   
Secciones
» Inicio
Enlaces
FULLServices Network | Blog gratis | Privacidad