PDF de programación - Seminario - Creación de Applets Simples

Imágen de pdf Seminario - Creación de Applets Simples

Seminario - Creación de Applets Simplesgráfica de visualizaciones

Publicado el 6 de Junio del 2017
663 visualizaciones desde el 6 de Junio del 2017
248,0 KB
25 paginas
Creado hace 19a (21/06/2004)
Seminario

UNIVERSIDAD DE CANTABRIA

Creación de Applets Simples

Junio 2004
Michael González: [email protected]

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

1

Creación de Applets Simples

UNIVERSIDAD DE CANTABRIA

1. Introducción
2. Estructura de un applet
3. Inserción en una página web
4. Dibujando sobre un applet
5. Etiquetas y botones
6. Entradas de Texto
7. Ejemplo: regresión lineal

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

2

1. Introducción

UNIVERSIDAD DE CANTABRIA

Los applets son objetos Java que:
• presentan una ventana gráfica para su ejecución
• tienen un conjunto bien definido de operaciones que:
- les permiten formar parte de otros programas (p.e.,

appletviewer)

- y estar integrado en páginas web

• permiten por tanto crear páginas web dinámicas
• tienen algunas restricciones especiales:

- no tienen operación main()
- están gobernados por eventos
- la entrada/salida es diferente a la de las aplicaciones

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

3

Eventos

UNIVERSIDAD DE CANTABRIA

Los eventos son sucesos que el sistema detecta relacionados
con el programa, la entrada/salida, y el sistema de ventanas:
• eventos de ratón: mover, hacer click, ...
• eventos de teclado: pulsar o liberar una tecla
• eventos de acción: pulsación de un botón o menú
• eventos de texto: cambiar el valor de una entrada de texto
• eventos de ventana: cerrar una ventana, abrirla,

minimizarla...

• etc.

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

4

Arquitectura gobernada por
eventos

UNIVERSIDAD DE CANTABRIA

Evento 1

Evento 2

Evento 3

Applet

Operación 1

Operación 2

Operación 3

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

5

Arquitectura gobernada por
eventos (cont.)

UNIVERSIDAD DE CANTABRIA

En un programa gobernado por eventos:
• hay operaciones que gestionan eventos
• el applet está esperando a que llegue un evento
• cuando el sistema detecta un evento llama a la operación

asociada a ese evento

• la operación debe terminar pronto
• la operación no debe esperar a que algo ocurra (p.e., leer)
• el usuario inicia la acción, no al revés como en las

aplicaciones

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

6

2. Estructura de un applet

UNIVERSIDAD DE CANTABRIA

import java.awt.*;
import java.applet.*;

public class SimpleApplet extends Applet {

String mens;

public void init() {
mens="Inicializado";
}

public void start() {
mens=mens+" Comienza";
}

public void paint(Graphics g) {
g.drawString(mens,80,10);
}
}

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

7

3. Inserción en una página
web

UNIVERSIDAD DE CANTABRIA

Para insertar un applet en una página web:
• con Bluej: “Run Applet in Web browser”
• si la herramienta de creación de páginas web lo permite,

añadir el applet en el lugar deseado

• si no, añadir con el editor de textos en el lugar deseado:

<applet codebase="classes" code="SimpleApplet"
width=300 height=200>
</applet>

donde:

- codebase: directorio donde se encuentran las clases
- code: nombre del applet
- width, height: ancho y alto de la ventana

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

8

Visualización

UNIVERSIDAD DE CANTABRIA

Con un navegador de internet
• Ojo: suelen usar versiones viejas de Java
• Actualizar la máquina virtual java si es necesario
Con la herramienta appletviewer:
appletviewer pagina.html

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

9

4. Dibujando sobre un applet

UNIVERSIDAD DE CANTABRIA

La salida se hace dibujando sobre un entorno gráfico desde el
método paint():
- drawString(String str, int x, int y)
- drawLine(int startX, int startY, int endX, int endY)
- drawREct(int x, int y, int ancho, int alto)
- drawOval(int x, int y, int ancho, int alto)
- drawArc(int x, int y, int ancho, int alto, int
anguloInicial, int anguloBarrido)
- drawPolygon (int x[], int y[], int numPuntos)
Todas las coordenadas en pixels, siendo (0,0) la esquina
superior izquierda
Ángulos en grados, 0=horizontal

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

10

UNIVERSIDAD DE CANTABRIA

Ejemplo

import java.awt.*;
import java.applet.*;

public class Dibujo extends Applet {

public void init() {
}

public void start() {
}

public void paint(Graphics g) {
g.drawOval(10,10,100,100);
g.drawOval(30,30,20,20);
g.drawOval(70,30,20,20);
g.drawArc(30,30,60,60,210,120);
}
}

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

11

5. Etiquetas y botones

UNIVERSIDAD DE CANTABRIA

Las etiquetas son ventanas de la clase Label con un texto,
que se pueden añadir a un applet (con add())
Los botones de la clase Button, además de lo anterior,
producen un evento de “acción” al ser pulsados
• hay que programar el applet para que atienda a eventos de

acción; para ello:
- debe implementar ActionListener
- debe tener una operación actionPerformed(), que

atiende a todos los eventos de acción

• hay que indicar que los eventos del botón son atendidos

por el applet:
- con la operación addActionListener()

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

12

Ejemplo

UNIVERSIDAD DE CANTABRIA

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Contador extends Applet implements ActionListener{

Label mens;
Button incr,decr;
int cuenta=0;

public void init() {
mens=new Label ("Contador: "+cuenta);
incr=new Button("Incrementar");
decr=new Button("Decrementar");
add(incr);
add(decr);
add(mens);
incr.addActionListener(this);
decr.addActionListener(this);
}

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

13

Ejemplo (cont.)

UNIVERSIDAD DE CANTABRIA

public void actionPerformed(ActionEvent ev) {

String str = ev.getActionCommand();
if (str.equals("Incrementar")) {
cuenta++;
} else if (str.equals("Decrementar")) {
cuenta--;
}
mens.setText("Contador: "+cuenta);
}

public void start() {
}

public void paint(Graphics g) {
}
}

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

14

6. Entradas de Texto

UNIVERSIDAD DE CANTABRIA

Son objetos de la clase TextField que:
• presentan una ventana en pantalla en la que se puede

teclear un texto

• se pueden añadir a un applet
• se puede leer su valor con getText()
• generan eventos de tipo texto

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

15

UNIVERSIDAD DE CANTABRIA

Ejemplo

import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class Temperatura extends Applet
implements ActionListener
{

Label mens;
Button af,ag;
TextField temp;

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

16

Ejemplo (cont.)

UNIVERSIDAD DE CANTABRIA

public void init() {
mens=new Label (" ");
af=new Button("A Fahrenheit");
ag=new Button("A Grados");
temp= new TextField("0.0");
add(af);
add(ag);
add(temp);
add(mens);
af.addActionListener(this);
ag.addActionListener(this);
}

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

17

Ejemplo (cont.)

UNIVERSIDAD DE CANTABRIA

public void actionPerformed(ActionEvent ev) {

try {
double tempActual=Double.parseDouble(temp.getText());
String str = ev.getActionCommand();
if (str.equals("A Fahrenheit")) {
mens.setText("Temperatura "+tempActual+" C = "+
(tempActual*1.80+32.0)+" F");
} else if (str.equals("A Grados")) {
mens.setText("Temperatura "+tempActual+" F = "+
((tempActual-32.0)/1.80)+" C");
}
} catch (NumberFormatException e) {
mens.setText("Error");
}
}

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

18

Ejemplo (cont.)

public void start() {
}

public void paint(Graphics g) {
}

}

UNIVERSIDAD DE CANTABRIA

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

19

7. Ejemplo: regresión lineal

UNIVERSIDAD DE CANTABRIA

Se dispone de la clase RegresionLineal2, con la siguiente
interfaz:

public class RegresionLineal2 {

public class NoCabe extends Exception {}

public RegresionLineal2(int maxPuntos)

public void inserta(double x, double y) throws NoCabe

public double coefA()
public double coefB()
public double correlacion()
public double valorY(double x)

public void dibuja(Graphics g)
}

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour

21/jun/04

20

Ejemplo (cont.)

import java.awt.*;
import java.awt.event.*;
import java.applet.*;

UNIVERSIDAD DE CANTABRIA

public class AppletRL extends Applet implements ActionListener {

Button inserta, calcula;
TextField num1,num2;
RegresionLineal rl;
String msg="";
boolean calculated=false;

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTR
  • Links de descarga
http://lwp-l.com/pdf4310

Comentarios de: Seminario - Creación de Applets Simples (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad