Applets - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

Applets

Description:

Se crea una instancia de la clase que controla el applet. ... El applet comienza a ejecutarse. El ... setEditable(boolean b) establece como editable o no. ... – PowerPoint PPT presentation

Number of Views:84
Avg rating:3.0/5.0
Slides: 30
Provided by: hectoredua
Category:
Tags: applets | editable

less

Transcript and Presenter's Notes

Title: Applets


1
Applets
  • Programacion

2
Applets
ARQUITECTURA DE APPLETVIEWER
3
Ciclo de vida de un Applet
  • Se crea una instancia de la clase que controla el
    applet. En el ejemplo de la figura anterior,
    sería la clase HolaMundo.
  • El applet se incializa.
  • El applet comienza a ejecutarse.
  • El applet empieza a recibir llamadas. Primero
    recibe una llamada init (inicializar), seguida de
    un mensaje start (empezar) y paint (pintar).
    Estas llamadas pueden ser recibidas
    asíncronamente.

4
METODOS DE APPLETVIEWER
init() El método init() se llama cada vez que el
appletviewer carga por primera vez la clase.
start() start() es la llamada para arrancar el
applet cada vez que es visitado.
stop() stop() es la llamada para detener la
ejecución del applet.
destroy() El método destroy() se llama cuando ya
no se va a utilizar más el applet
paint( Graphics g ) Es la función llamada cada
vez que el área de dibujo del applet necesita ser
refrescada.
update( Graphics g ) Esta es la función que
realmente se llama cuando se necesita una
actualización de la pantalla.
repaint Llamando a este método se podrá forzar la
actualización de un applet
5
UN APPLET BASICO EN JAVA
// Applet HolaMundo de ejemplo import
java.awt.Graphics import java.applet.Applet publ
ic class HolaMundo extends Applet public
void paint( Graphics g ) g.drawString(
"Hola Mundo!",25,25 )
// // Applet HolaMundo de ejemplo // ltHTMLgtltAPPLE
TgtltCODE HolaMundo.class WIDTH 100 HEIGHT
80gt lt/APPLETgt lt/HTMLgt
6
Ejemplos de Applets
/ Propósito Generar seis números aleatorios
entre 1 y 51 para una quiniela del melate. El
applet tiene un campo de texto para mostrar los
valores y un botón para ejecutar la acción.
Cuando se presiona el botón se generan 6 números
aleatorios para la quiniela. Nombre Héctor
E. Medellin Fecha 7 de febrero de 2006
Curso de Programación/import
java.applet.//necesario para los Appletsimport
java.awt.//necesario para manejo de componentes
gráficospublic class Melate extends Applet
7
Miembros dato del Applet
TextField salida //lineas de texto para
salidaButton boton //boton para generar
quinielaint n1,n2,n3,n4,n5,n6//números
aleatoriospublic void init()//crea objetos
gráficos salida new TextField(5) boton
new Button("generar quiniela")//para colocarlos
libremente hay que hacer el esquema nulo
setLayout(null)//establecer dimensiones de las
comp. (x,y,ancho,alto) salida.setBounds(50,50,15
0,25) boton.setBounds(50,110,120,30)
//agregar las componentes gráficas
add(salida) add(boton)
8
Métodos
public void melate() n1 (int)(Math.random()5
11) n2 (int)(Math.random()511) n3
(int)(Math.random()511) n4
(int)(Math.random()511) n5
(int)(Math.random()511) n6
(int)(Math.random()511)public boolean
action(Event e, Object o) if(e.target
boton)//si se preciono el boton melate()
salida.setText(""n1", "n2", "n3", "n4",
"n5", "n6) return true
9
Vectores en Pascal
Lectura de un vector en Pascal
Pascal Program Vectorvar num,i integer
vec array1..10of integerBegin
readln(num) for i1 to num do
readln(veci) for i1 to num do
writeln(veci)End.
10
Vectores en C
Lectura de un vector en C
C include ltstdio.hgt void main() int num,i
int vec10 scanf(d,num) for(i 0
ilt10 i) scanf(d,veci) for(i 0
ilt10 i) printf(d,veci)
11
Vectores en Java
Lectura de un vector en Java
Java import javabook.public class Vector
public static void main(String args)
SimpleInput entrada new SimpleInput()
int num entrada.getInteger(Tecle un
numero) int vec vec new
int10// o int vec new int10 for(i
0 ilt10 i) veci
entrada.getInteger(Tecle un valor entero)
for(i 0 ilt10 i) System.out.println(
veci)
12
Ejemplo de applet con vectores
/ Propósito Generar una quiniela aleatoria de
progol. El applet tiene un boton para ejecutar
la acción. Cuando se presiona el boton se
generan la quiniela de progol Nombre Héctor E.
Medellin Fecha 7 de febrero de 2006 Curso
de Programación/import java.applet.//necesari
o para los Appletsimport java.awt.
//necesario para manejho de componentes
gráficospublic class Progol extends Applet
13
Creación de objetos
Button boton //boton para generar quinielaint
juego //resultados de la quiniela
aleatoriospublic void init() //crea objetos
gráficos boton new Button("generar
quiniela") //crear quiniela juego new
int14 //para colocarlos libremente hay que
hacer el esquema nulo setLayout(null)
//establecer dimensiones de las componentes
(x,y,ancho, /// alto) boton.setBounds(50,350,1
20,30) //agregar las componentes gráficas
add(boton)
14
Métodos
public void quiniela() int i for(i 0
ilt14 i) juegoi (int)(Math.random()3)
public boolean action(Event e, Object o)
if(e.target boton)//si se preciono el boton
quiniela() repaint() return true
15
Método paint
public void paint(Graphics g) int i
g.drawString("Local Empate Visitante",100,30)
for(i 0 ilt14 i) g.drawString(""(i1),8
0,35(i1)15) if(juegoi0)
g.fillRect(100,40i15,20,10) else
g.drawRect(100,40i15,20,10)
if(juegoi1) g.fillRect(150,40i15,20,10
) else g.drawRect(150,40i15,20,10)
if(juegoi2) g.fillRect(200,40i15
,20,10) else g.drawRect(200,40i15,20
,10)
16
Applet del mcd
/ Propósito calcular el máximo común divisor de
dos números utilizando una función. El applet
tiene tres campos de texto para los valores y el
resultado y un boton para ejecutar la acción.
Cuando se presiona el boton se calcula el valor
del mcd de los números tecleados en los dos
campos de texto de entrada. Nombre Héctor E.
Medellin Fecha 7 de febrero de 2006 Curso
de Programación/import java.applet.//necesari
o para los Appletsimport java.awt. //necesario
para manejo de componentes gráficospublic class
PruebaMCDApplet extends Applet TextField
entrada1,entrada2,salida //lineas de texto para
entrada y salida Button boton //boton
para llamar a la funcion Label mcdEtiqueta
int num1,num2,valor //números tecleados y mdc
17
Método init()
public void init() //crea objetos gráficos
entrada1 new TextField(5) entrada2 new
TextField(5) salida new TextField(5)
boton new Button("calcular mcd") mcdEtiqueta
new Label("M.C.D.")//para colocarlos
libremente hay que hacer el esquema nulo
setLayout(null)//establecer dimensiones de las
componentes (x, y, ancho, alto)
entrada1.setBounds(50,50,80,25)
entrada2.setBounds(50,80,80,25)
salida.setBounds(150,50,80,25)
boton.setBounds(50,110,100,25)
mcdEtiqueta.setBounds(150,30,80,25) //agregar
las componentes gráficas add(entrada1)
add(entrada2) add(salida) add(boton)
add(mcdEtiqueta)
18
Método mcd()
static public int mcd(int m, int n) int
a,b,res// dtermina cual de los dos números es
el mayor if(mgtn) a m b n
else a n b m //algoritmo de
Euclides para mcd while(b ! 0) res
ab a b b res return a
19
Método action()
public boolean action(Event e, Object o)
if(e.target boton)//si se preciono el boton
if(sonOperandosValidos())//si los números son
válidos valor mcd(num1,num2)
salida.setText(""valor) return
true
20
Métodos sonOperandosValidos()
private boolean sonOperandosValidos() boolean
b try//si alguno de los números no esta
correctamente escrito, //se salta a
ejecutar la parte de catch num1
Integer.parseInt(entrada1.getText()) num2
Integer.parseInt(entrada2.getText()) b
true catch(NumberFormatException e) b
false return b
21
Applet en ejecución
22
Resumen de Applets
Un applet es una aplicación pequeña. Requiere de
una clase derivada de la clase Applet (hija de
Applet). Para visualizar un applet con
AppletViwerr se requiere un archivo HTM. En el
método init() se construyen los objetos del
applet. Puede usarse también un constructor. El
método paint() se ejecuta cada que se redibuja el
applet. El método action() procesa las
herramientas visuales que responden a acciones
(botones, barras de scroll, campos de
texto). Para posicionar componentes libremente
(posicionamiento absoluto) se requiere de poner
el esquema como null, es decir, incluir en init()
setLayout(null). El posicionamiento se realiza
con ltobjetogt.setBounds(x,y,w,h). Se pueden
declarar todos los métodos que se requiera dentro
de un applet para llevar a cabo su labor.
23
Constructores y métodos de algunas herramientas
Button Button() botón sin rótuloButton(String
s) botón con rótulo TextField TextField() sin
parámetrosTextField(int columnas) número de
columnasTextField(String s) texto
exhibidoTextField(String s, int columnas)
texto exhibido y número de columnassetEditable(bo
olean b) establece como editable o
no.setText(String s) establece el texto del
campo. Choice Choice() constructor sin
parámetrosint countItems() devuelve el número
de elementos del ChoiceString getItem(int index)
devuelve el elemento del Choice en la posición
index.addItem(String s) agrega una opción a un
Choice.String getSelectedItem() devuelve el
elemento de Choice selecionadoint
getSelectedIndex() devuelve el indice del
elemento de Choice selecionado
24
Esqueleto de un Applet
Comentarios
Sentencias import
import java.applet.import java.awt.
Nombre del applet
public class extends Applet
Declaraciones de objetos y variables
Declaraciones
Declaraciones de métodos
Métodos

25
Actividades
Cada problema 0.5 puntos. En cada caso escriba un
archivo HTM. 1. Escriba un applet que incluya un
botón (Button) y un campo de texto (TextField),
cree los objetos en el método init(). Posicione
el botón en la coordenada (100,50) y el campo de
texto en la (100,150). 2. Escriba un applet que
dibuje la figura que se muestra.
3. Escriba un applet con un botón que simule una
tirada de dados. Los dados deberán tirarse cada
que se presiona en botón. Dibuje los dados como
se muestra.
Escriba un método para dibujar un dado que acepte
un número entero, las coordenadas del dado y un
objeto Graphics.
26
Eventos del mouse
public boolean mouseDown(Event e, int x, int y)
ocurre cuando se presiona el botón public boolean
mouseUp(Event e, int x, int y) ocurre cuando se
suelta el botón public boolean mouseMove(Event e,
int x, int y) ocurre cuando se mueve el
botón public boolean mouseExit(Event e, int x,
int y) ocurre cuando el cursor de mouse sale
del área de la componente. public boolean
mouseEnter(Event e, int x, int y) ocurre cuando
el cursor del mouse entra al área de la
componente public boolean mouseDrag(Event e, int
x, int y) ocurre cuando se presiona el botón y
se mueve el ratón.
27
Ejemplo de eventos de mouse
import java.applet.//necesario para los
Appletsimport java.awt.//necesario para manejo
de componentes gráficospublic class MoverMouse
extends Applet public boolean
mouseMove(Event e, int x, int y)
showStatus("Mouse en ("x","y")") return
true public boolean mouseDown(Event e, int
x, int y) showStatus("Se presionó el Mouse
en ("x","y")") return true
28
Arrastre del mouse
Es necesario supeditar update() para que no se
borre el segundo plano.
import java.applet.//necesario para los
Appletsimport java.awt. //necesario para
manejo de componentes gráficospublic class
MoverDrag extends Applet int xValor,
yValor boolean primeraVez public void
init() primeraVez true public void
paint(Graphics g) if(!primeraVez)//no dibuja
la primera vez g.fillOval(xValor,yValor,4,4)
//update normalmente borra el segundo
plano public void update(Graphics
g) paint(g)//no borra el segundo
plano public boolean mouseDrag(Event e, int
x, int y) xValor x yValor
y primeraVez false repaint()//llama a
repaint showStatus("Evento mouseDrag") return
true
29
Eventos del ratón con HandleEvent()
import java.applet.import java.awt.public
class EventRaton extends Applet List evento
public void init() evento new
List(6,false) add(evento) public
boolean handleEvent(Event e) switch(e.id)
case Event.MOUSE_UPevento.addItem("Ratón
arriba") return true case
Event.MOUSE_DOWNevento.addItem("Ratón abajo")
return true case
Event.MOUSE_MOVEevento.addItem("Ratón en
movimiento") return true case
Event.MOUSE_ENTERevento.addItem("Ratón entra")
return true case
Event.MOUSE_EXITevento.addItem("Ratón sale")
return true case
Event.MOUSE_DRAGevento.addItem("Ratón se
arrastra") return true
showStatus("No es evento de mouse") return
true
Write a Comment
User Comments (0)
About PowerShow.com