java applets n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
JAVA APPLETS PowerPoint Presentation
Download Presentation
JAVA APPLETS

Loading in 2 Seconds...

play fullscreen
1 / 19

JAVA APPLETS - PowerPoint PPT Presentation


  • 135 Views
  • Uploaded on

JAVA APPLETS. Silvia Larrayoz Leire Urriza. INTRODUCCIÓN. 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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'JAVA APPLETS' - sandra_john


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
java applets

JAVA APPLETS

Silvia Larrayoz

Leire Urriza

E.T.S de Ingenieros de Telecomunicación - UPNA

slide2

INTRODUCCIÓN

  • 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.

E.T.S de Ingenieros de Telecomunicación - UPNA

slide3

APLICACIÓN  APPLET

  • 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

E.T.S de Ingenieros de Telecomunicación - UPNA

slide4

LAS CLASES APPLET Y JAPPLET

  • Contenedor visual del estilo de Frame (JFrame) o Panel (JPanel) según la implementación (AWT o Swing)
      • Clase Applet  AWT
      • Clase JApplet  Swing

E.T.S de Ingenieros de Telecomunicación - UPNA

slide5

CICLO DE VIDA DE UN APPLET (I)

  • 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...)

E.T.S de Ingenieros de Telecomunicación - UPNA

slide6

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

E.T.S de Ingenieros de Telecomunicación - UPNA

slide7

CICLO DE VIDA DE UN APPLET (III)

  • public void paint(Graphics g)
      • Para escribir o pintar en el applet
      • Se ejecuta cada vez que se necesita refrescar el applet

E.T.S de Ingenieros de Telecomunicación - UPNA

slide8

EJEMPLO DE CICLO DE VIDA

  • Cargar el applet  init() + start()
  • Salir y entrar a la página HTML  stop() + start()
  • Cerrar navegador  stop() + destroy()

E.T.S de Ingenieros de Telecomunicación - UPNA

slide9

DESARROLLO DEL APPLET

  • 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 <applet ...> a alguna página Web.

E.T.S de Ingenieros de Telecomunicación - UPNA

slide10

LA ETIQUETA <applet> (I)

<applet [name=?] [codebase=?] code=? [archive=?] width=? height=? [align=?] [vspace=?] [hspace=?] [alt=?]>

[<param name=? value=?>]

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)

E.T.S de Ingenieros de Telecomunicación - UPNA

slide11

LA ETIQUETA <applet> (II)

  • 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
  • <param> 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();

E.T.S de Ingenieros de Telecomunicación - UPNA

slide12

EJEMPLO (Calculadora) (I)

  • 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

E.T.S de Ingenieros de Telecomunicación - UPNA

slide13

EJEMPLO (Calculadora) (II)

  • 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

E.T.S de Ingenieros de Telecomunicación - UPNA

slide14

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);

}

E.T.S de Ingenieros de Telecomunicación - UPNA

slide15

EJEMPLO (Calculadora) (IV)

//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);}}

E.T.S de Ingenieros de Telecomunicación - UPNA

slide16

EJEMPLO (Calculadora) (V)

//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

E.T.S de Ingenieros de Telecomunicación - UPNA

slide17

EJEMPLO (Calculadora) (VI)

Ejecutando el código (Run As Java Applet) se obtiene:

E.T.S de Ingenieros de Telecomunicación - UPNA

slide18

EJEMPLO (Calculadora) (VI)

Para probarlo en un navegador…

<HTML>

<HEAD>

<TITLE> Práctica 18a </TITLE>

</HEAD>

<BODY>

<CENTER>

<H1> Práctica 18a: Calculadora </H1>

<BR/>

<APPLET code=”org.javahispano.practica18a.Calculadora” width=”170” height=”150”>

</APPLET>

</CENTER>

</BODY>

</HTML>

paquete

clase

E.T.S de Ingenieros de Telecomunicación - UPNA

slide19

BIBLIOGRAFÍA

  • www.javahispano.org
  • www.javasun.com (API Specifications y seleccionar versión Java)
  • Piensa en Java (Segunda edición) Bruce Eckel

E.T.S de Ingenieros de Telecomunicación - UPNA