applets en java
Post on 29-May-2018
247 Views
Preview:
TRANSCRIPT
-
8/9/2019 Applets en Java
1/32
Applets en Java
-
8/9/2019 Applets en Java
2/32
Definicin
Pequea aplicacin accesible en un
servidor Internet
Se transporta por red Se instala automticamente
Se ejecuta in situ como parte de un
documento web
-
8/9/2019 Applets en Java
3/32
Es una aplicacin corta
Basada en un formato grfico
Sin representacin independiente Es necesario embeber ese elemento en otras
aplicaciones
Navegadores Web
JavaSoft
-
8/9/2019 Applets en Java
4/32
Applet en HTML
Applet destinado a ejecutarse en navegadores Web
Preparar XHTML para soportar Java Applets
etiqueta
Atributos obligatorios Code:nombre de la clase principal(fichero compilado)
Windth, height,
Atributos opcionales
Codebase:url base del applet
Alt: texto alternativo
Name:nombre instancia Aligh:alineacin
Vspace:espaciado vertical
Hspace:espaciado horizontal
-
8/9/2019 Applets en Java
5/32
Paso de parmetros a Applets
Etiqueta param en html entre etiquetas
applet
Indica paramtros Mtodo getParameter()
De la clase java.applet.Applet
Para leerlos en el cdigo interno del Applet
Name:nombre del parmetro a pasar al Applet Value:valor a trasmitir al parmetro
-
8/9/2019 Applets en Java
6/32
Ejemplo
Escribir un archivo en java, que al navegar
aparezca el texto Hola
-
8/9/2019 Applets en Java
7/32
Solucin
import java.awt.Graphics;
import java.applet.Applet;
public class EjemploApplet1 extends Applet{
String nombre;
public void init(){
nombre=getParameter("Nombre");
}
public void paint (Graphics g){
g.drawString("Hola " + nombre + "!", 30,30); }
}
-
8/9/2019 Applets en Java
8/32
En HTML
-
8/9/2019 Applets en Java
9/32
Escribir Applets en Java
Necesarios unos mtodos Arrancar start
Detener la ejecucin del applet stop
Pintar paint
Actualizar update
NO necesario mtodo main como lasaplicaciones Java
Se deben implementar, redefnir, al menos uno
de los tres mtodos Init()
Start()
Paint()
-
8/9/2019 Applets en Java
10/32
Init()
Esta funcin es llamada slo una vez al crearseel applet.
La clase Applet no hace nada en init
Las clases derivadas deben sobrecargar estemtodo para cambiar el tamao durante suinicializacin
Se deben realizar Cargar imgenes y sonido en memoria
Redimensin del applet para obtener el tamaocorrecto
Asignar valores a las variables globales
-
8/9/2019 Applets en Java
11/32
Destroy()
Se llama cuando el applet no se va a usar
ms
Los applet multitarea usan destroy paramatar cualquier tarea que quedase activa,
antes de concluir definitivamente la
ejecucin del applet
-
8/9/2019 Applets en Java
12/32
start()
Llamada para activar el applet
Se llama cuando se visita el applet
Las clases derivadas lo sobrecargan paracomenzar la animacin ,sonido..
-
8/9/2019 Applets en Java
13/32
Stop()
Llamada para detener el applet
Se llama cuando el applet desaparece de
la pantalla Las clases derivadas lo sobrecargan para
detener la animacin, el sonido.
-
8/9/2019 Applets en Java
14/32
Resize(int width, int height)
El mtodo init() debera llamar a esta
funcin miembro para establecer el
tamao del applet
Cambiar el tamao en un sitio que no sea
init, provoca un reformateo de todo el
documento no recomendable.
-
8/9/2019 Applets en Java
15/32
Paint(Graphics g)
Se llama cada vez que se necesita
refrescar el rea de dibujo del applet
Mtodo de la clase Component heredadopor varias clases y tb por la clase Applet
Dibuja una caja en el rea
Para repintar toda la zona del appletcuando llega un evento Paint, se pide usar
update
-
8/9/2019 Applets en Java
16/32
Update(Graphics g)
Se llama cuando se necesita actualizar la
pantalla
La clase Applet solo limpia el rea y llamaal mtodo paint
Se puede usar update para modificar
partes del rea grfica sin tener que pintar
el rea completa
-
8/9/2019 Applets en Java
17/32
Repaint()
Se llama cuando el applet necesite ser
repintado
Al llamar repaint sin parmetros,internamente se llama a update que borra
el rectngulo sobre el que se redibujar y
luego se llama a pint
-
8/9/2019 Applets en Java
18/32
getParameter(String attr)
Carga valores pasados al applet va la
marca Applet de HTML
Argumento String es el nombre delparmetro que se quiere obtener
Debemos definir una cadena generca
para usar el mtodo
-
8/9/2019 Applets en Java
19/32
getDocumentBase()
Indica la ruta http de donde se ha recogido
la pagina html que contiene el applet
-
8/9/2019 Applets en Java
20/32
Print (Graphics g)
Para imprimir en impresora, al igual que
paint, se puede usar print
-
8/9/2019 Applets en Java
21/32
Crear Applet con paquete
Abre File new Project
Ruta del paquete
Compilador run Applet Se crea automtico
-
8/9/2019 Applets en Java
22/32
Barra de scroll
Crea un applet que dibuje una barra de
scroll horizonta en la pantalla
Adems que en una etiqueta nos muestrela posicion de la barra
-
8/9/2019 Applets en Java
23/32
Solucin 1
impor t j ava.awt.event .* ;
import java.awt.*;
import java.applet.*;
public class Barras_scroll extends Applet
{
private Scrollbar miBarra=null;
private Label miLabel=null;
public void init()
{
//Contructor //Scrollbar.VERTICAL
// Valor inicial (Arranca)
// Grosor de la barra
// Limite inferior (Valor minimo)
// Limite superior (Valor maximo) (Limite superior - Grosor de la barra)
// ej (255-10=245)
// Arranca -->25
// Grosor de barra-->30
// Limite inferior-->9
// Limite superior-->(100-30=70)
miBarra = new Scrollbar( Scrollbar.HORIZONTAL,25,30,9,100 );
//Recuperamos el valor
miLabel = new Label(String.valueOf(miBarra.getValue()));;
setLayout(null);
add(miBarra);
add(miLabel);
miBarra.setBounds(150,100,180,20);
miLabel.setBounds(230,150,125,20);
eventos();
-
8/9/2019 Applets en Java
24/32
Solucion 2
-
8/9/2019 Applets en Java
25/32
Ejercicio
Crea un applet que escriba en la pgina
los diferentes mtodos que nos
encontramos en la vida del applet
-
8/9/2019 Applets en Java
26/32
Solucion
import java.applet .Applet ;
impor t java.awt.Graphics ;
public class ClsApplet extends Applet
{
String msg="";
public void init()
{
msg="inicializando... ";
}
public void start() {
msg+="arrancando... ";
//repaint();-- no es necesario ya que la primera vez se ejecuta
// el paint automaticamente
}
public void stop()
{
msg+="parando... "; // no se visualiza el mensaje en el applet
// se produce cuando abandonamos la pagina web
}
public void destroy()
{ msg+="preparando para descargar..."; // no se visualiza el mensaje en el applet
// no se suele remplazar
}
public void paint(Gr aphics g)
{
g.drawString(msg, 5, 15);
}
}
-
8/9/2019 Applets en Java
27/32
Ejercicio
Dibuja un interfaz de usuario que nos
ponga un botn en cada zona geogrfica
del applet usando borderLayout
-
8/9/2019 Applets en Java
28/32
Solucion
import java.applet.*;
import java.awt.*;
public class ClsBorderLayout extends Applet
{
public void init()
{ setLayout(new BorderLayout());
setFont(new Font("Helvetica", Font.PLAIN, 14));
add("North", new Button("Norte"));
add("South", new Button("Sur"));
add("East", new Button("Este"));
add("West", new Button("Oeste")); add("Center", new Button("Centro"));
}
}
-
8/9/2019 Applets en Java
29/32
Ejemplo
Dibuja unos botones que al pulsar escriba
un texto en una label
Todo esto en un applet
-
8/9/2019 Applets en Java
30/32
Solucion
import java.applet.*;
import java.awt.*;
import java.awt.event.*; //Solo para el ActionListener
public class ClsBoton extends Applet
{
Button btn1;
Button btn2;
Button btn3;
Label lbl;
public void init()
{
btn1=new Button("10");
btn2=new Button("16"); btn2=new Button("18");
lbl=new Label("Prueba de eventos");
add(btn1);
add(btn2);
add(btn3);
add(lbl);
setLayout(null);
//left, top, width, height
btn1.reshape(70,20,70,20);
btn2.reshape(140,20,70,20);
btn2.reshape(140,20,70,20);
lbl.reshape(90,100,125,20);
lbl.setAlignment(Label.CENTER);//Texto centrado
//literal, atributos,tamao
Font fuente=new Font("Impact",Font.ITALIC,15);
lbl.setFont(fuente);
lbl.setForeground(Color negrita); //Color de fuente
}
public void start()
{
eventos();//solo para la version con ActionListener
}
public void paint(Graphics p1)
{
}
/*
-
8/9/2019 Applets en Java
31/32
Ejemplo
Dibuja en un applet unos botones y una
lista dentro de un panel
Cuidado que no hace falta Frame
-
8/9/2019 Applets en Java
32/32
Solucion
import java.applet.*;
import java.awt.*;
public class ClsCardLayout extends Applet
{
public void init()
{
//Donde se declaren las variables de ejemplar:
Panel cards;
String BUTTONPANEL = "Panel con un texto";
String TEXTPANEL = "Panel con otro texto diferente";
setLayout(new BorderLayout());
setFont(new Font("Helvet ica", Font.PLAIN, 14));
//Ponemos la lista in un panel para facil itar su posicionamiento
Panel cp = new Panel();
Choice c = new Choice();
c.addItem(BUTTONPANEL);
c.addItem(TEXTPANEL);
cp.add(c);
add("North", cp);
cards = new Panel();
cards.setLayout(new CardLayout());
Panel p1 = new Panel();
p1.add(new Button("Button 1")); p1.add(new Button("Button 2"));
p1.add(new Button("Button 3"));
Panel p2 = new Panel();
p2.add(new TextField("TextField", 20));
cards.add(BUTTONPANEL, p1);
cards.add(TEXTPANEL, p2);
add("Center", cards);
}
}
top related