JAVA APPLETS - PowerPoint PPT Presentation

About This Presentation
Title:

JAVA APPLETS

Description:

Un applet es un panel que va dentro de una p gina Web ... Se ejecuta despu s de init ... vspace espacio a dejar por encima y por debajo del applet en pixels ... – PowerPoint PPT presentation

Number of Views:452
Avg rating:3.0/5.0
Slides: 20
Provided by: leireur
Learn more at: http://www.mhproject.org
Category:
Tags: applets | java | de | encima

less

Transcript and Presenter's Notes

Title: JAVA APPLETS


1
JAVA APPLETS
  • Silvia Larrayoz
  • Leire Urriza

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

3
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

4
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

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

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

7
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

8
EJEMPLO DE CICLO DE VIDA
  • Cargar el applet ? init() start()
  • Salir y entrar a la página HTML ? stop()
    start()
  • Cerrar navegador ? stop() destroy()

9
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 ltapplet ...gt a alguna página
    Web.

10
LA ETIQUETA ltappletgt (I)
ltapplet name? codebase? code? archive?
width? height?
align? vspace? hspace? alt?gt
ltparam name? value?gt
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)
11
LA ETIQUETA ltappletgt (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
  • ltparamgt ?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()

12
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 tnull
  • private int oper10

18
Hay que hacer que nuestra clase extienda a
JApplet en vez de a JFrame
13
EJEMPLO (Calculadora) (II)
public Calculadora() this.setTitle(Calculador
a) this.addWindowListener(newWindowAdapter()
public void windowClosing(WindowEvent ev)
System.exit(0) ) this.getContent
Pane().setLayout(new BorderLayout()) tnew
JTextField(0) t.setBackground(Color.yellow) t.
setHorizontalAlignment(SwingConstants.RIGHT) t.a
ddKeyListener(this) JPanel auxnew
JPanel() aux.setLayout(new GridLayout(3,4))
JButton bnull b new JButton("1") b.addAction
Listener(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
14
EJEMPLO (Calculadora) (III) b.addActionListener(t
his) aux.add(b) b new JButton("") b.addAct
ionListener(this) aux.add(b) b new
JButton("4") b.addActionListener(this) aux.add
(b) b new JButton("5") b.addActionListener(th
is) aux.add(b) b new JButton("6") b.addActi
onListener(this) aux.add(b) b new
JButton("-") b.addActionListener(this) aux.add
(b) b new JButton("7") b.addActionListener(th
is) aux.add(b) b new JButton("8") b.addActi
onListener(this) aux.add(b) b new
JButton("9") b.addActionListener(this) aux.add
(b) b new JButton("") b.addActionListener(th
is) aux.add(b) this.getContentPane().add(t,B
orderLayout.NORTH) this.getContentPane().add(aux
,BorderLayout.CENTER)
15
EJEMPLO (Calculadora) (IV)
//Se ha producido un ActionEvent public void
actionPerformed(ActionEvent ev) String
aux((JButton)ev.getSource()).getText() if(aux.e
quals("")aux.equals("-")) commandaux op
er1Integer.parseInt(t.getText()) swtrue e
lse if(aux.equals("")) oper2Integer.parseInt
(t.getText()) if(command.equals(""))
t.setText(new Integer(oper1oper2).toString()
) oper1oper1oper2 // permite teclear un
numero y "(repitiendo el ultimo operador)
else t.setText(new Integer(oper1-oper2).toS
tring()) oper1oper1-oper2 // permite
teclear un numero y ""(repitiendo el ultimo
operador) swtrue else
if(sw) t.setText(aux) swfalse
else t.setText(t.getText() aux)
16
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 tmpev.getKeyChar() if(!Character.isD
igit(tmp)) t.setText(t.getText().substring(0,t.
getText().length()-1)) t.setCaretPosition(t.get
Text().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 cnew 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
17
EJEMPLO (Calculadora) (VI)
Ejecutando el código (Run As Java Applet) se
obtiene
18
EJEMPLO (Calculadora) (VI)
Para probarlo en un navegador ltHTMLgt ltHEADgt lt
TITLEgt Práctica 18a lt/TITLEgt lt/HEADgt ltBODYgt ltC
ENTERgt ltH1gt Práctica 18a Calculadora
lt/H1gt ltBR/gt ltAPPLET codeorg.javahispano.pr
actica18a.Calculadora width170
height150gt lt/APPLETgt lt/CENTERgt lt/
BODYgt lt/HTMLgt
paquete
clase
19
BIBLIOGRAFÍA
  • www.javahispano.org
  • www.javasun.com (API Specifications y seleccionar
    versión Java)
  • Piensa en Java (Segunda edición) Bruce Eckel
Write a Comment
User Comments (0)
About PowerShow.com