Creación de Applets Simples



Documentos relacionados
Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro

Programación Java Curso C Draw

JAVA: Applets. Diseño de aplicaciones web.

I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein Javier Navarro

Tema 7. Construcción de Applets en Java

Applets y Aplicaciones

I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro

Práctica 4: Java Remote Method Invocation (RMI)

d) Mencione dos diferencias y dos semejanzas entre clases abstractas e interfaces.

En este método la implementación de la interface de usuario donde se produce el evento y la implementación del oyente están en clases separadas.

Programación Orientada a Objetos, 3 er curso Ejercicios resueltos

CAPÍTULO V. APLICACIÓN WEB PARA EL CONOCIMIENTO Y CONVERSIÓN DE LAS UNIDADES DE MEDIDA

Estructura de las Aplicaciones Orientadas a Objetos El patrón Modelo-Vista-Controlador (MVC)

Programación Java. Práctica 11. Javier García de Jalón José Ignacio Rodríguez Alfonso Brazález Alberto Larzabal Jesús Calleja Jon García

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON

Uso de excepciones en Java

Programación Avanzada Ingeniería Civil en Computación

APELLIDOS:... NOMBRE:... GRUPO:... NÚMERO DE EXPEDIENTE:...

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp...

Actividades de Divulgación del Centro Atómico Bariloche. Qué hay detrás de un programa de computadora? Daniela Arnica Pablo E. Argañaras.

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

Clases Java para comunicaciones en red

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS

INTERFAZ GRÁFICO DE USUARIO APLICACIONES DE EJEMPLO

Programación interactiva. Oscar Bedoya

Tema 1. Introducción a programas en el lado del cliente

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

Benemérita Universidad Autónoma del Estado de Puebla

Java RMI. Sistemas Distribuidos Rodrigo Santamaría

GeoGebra - Applets en la Web

Conociendo el ambiente de programación de Java. M. en C. Erika Vilches

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN

Introducción a Netbeans

Compilación y ejecución de programas en Java.

Manual de Usuario CV Builder. cvbuilder.iese.edu

Race Manager by Master Timing Guía del usuario GUIA RACE MANAGER. Eventronic, SL

Excepciones. Gonzalo Méndez - Dpto. Ingeniería de Software e Inteligencia Artificial. Excepciones

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos

Uso de Firma Digital en la Oficina Virtual del Consejo de Seguridad Nuclear

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA

El Entorno Integrado de Desarrollo Dev-C++ (Ayuda básica para las primeras sesiones de prácticas)

Formulario VBA en Excel. Creación del formulario. Actividad grado 10.

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

LABORATORIO Nº 1 Sistemas de Información asociados a los Formularios en Excel

Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Algoritmia y Programación

Laboratorio de Física Universitaria II. FISI 3014 Primer semestre del año académico Departamento de Física y Electrónica de la UPR-H

Manejo de eventos AWT

Programación Orientada a Eventos

Actividades de Divulgación del Centro Atómico Bariloche. Qué hay detrás de un programa de computadora? Daniela Arnica Pablo E. Argañaras.

Examen de Prácticas de Programación Ingeniería Informática

Desarrollo de Servicios Web con JBuilder

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

Interfaces gráficas I

Introducción a Protégé

LABORATORIO DE RC PRÁCTICA 2: IMPLEMENTACIÓN DE UN CLIENTE Y SERVIDOR DE

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.

ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES

MANUAL DE USO DE SMART DFD

Qué es Java? Introducción a Java. Lenguajes Orientados a Objetos. Qué es Java? Historia de Java. Objetivos de Java

Programación Orientada a Objetos. Antecedentes del Lenguaje Java

Ejercicio 4. EJB Sesión - Sistema SGA. Java EE. Ejercicio 4. EJB Sesión Sistema SGA. Curso de Java EE

1.- MENU DE CONTROL O MENU VENTANA: permite cerrar la ventana cambiarla de tamaño y pasar a otra ventana

Arquitectura y Lenguaje Java

Ejercicio 1 (3 puntos).-

INTERFAZ GRÁFICO DE USUARIO

Se trata de una herramienta de desarrollo visual muy fácil de usar, con la que incluso los no programadores podrán desarrollar sus aplicaciones.

Práctica 1. Monitores en Java.

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006

Threads. La plataforma JAVA soporta programas multhreading a través del lenguaje, de librerías y del sistema de ejecución. Dos.

Multitarea en Java. Rafa Caballero - UCM

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

Java RMI Remote Method Invocation. Invocación Remota de Métodos en Java

Parsear HTML con htmlparser para Android Guillem Pérez

Las propiedades de la clase en java es el equivalente a las variables globales en lenguajes estructurados como el C.

Guía de Aprendizaje No. 1

Paradigmas de Programación

Definiciones. Tema 21_Módulos Menú 1

HTTP, CGI, Applets y Servlets

PROGRAMACIÓN CLIENTE-SERVIDOR MEDIANTE SOCKETS EN JAVA

Práctica 2: Java Remote Method Invocation (RMI)

Práctica 3: Introducción a Word

TEMA 9 CREACIÓN DE PÁGINAS WEB

Sistema de Gestión Académica. Mantenimiento de Usuarios. Revisión 1.0. Servicio de Informática Área de Gestión

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Fundamentos de Programación

ELABORACIÓN DE TABLEROS DINÁMICOS DE COMUNICACIÓN CON EL PROGRAMA EDITOR TICO

Procedimiento de instalación de Aula Virtual Santillana en Windows: Alumnos

1/ Implantación de Arquitectura Web

75-62 Técnicas de Programación Concurrente II 2004 java Threads

Carlos Castro Grande 1

AUTORIZACIÓN DE COMERCIALIZACIÓN EXCEPCIONAL DE MEDICAMENTOS DE USO HUMANO GUÍA PARA LA SOLICITUD DE UNA AUTORIZACIÓN DE COMERCIALIZACIÓN EXCEPCIONAL

NUEVO ASPECTO DE LAS PANTALLAS DE AFILIACIÓN ON-LINE EN INTERNET

Transcripción:

Seminario Creación de Applets Simples Junio 2004 Michael González: mgh@unican.es GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 1

Creación de Applets Simples 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 Michael González Harbour 2

1. Introducción 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 Michael González Harbour 3

Eventos 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 Michael González Harbour 4

Arquitectura gobernada por eventos Evento 1 Evento 2 Evento 3 Applet Operación 1 Operación 2 Operación 3 GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 5

Arquitectura gobernada por eventos (cont.) 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 Michael González Harbour 6

2. Estructura de un applet 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 Michael González Harbour 7

3. Inserción en una página web 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 Michael González Harbour 8

Visualización 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 Michael González Harbour 9

4. Dibujando sobre un applet 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 Michael González Harbour 10

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 Michael González Harbour 11

5. Etiquetas y botones 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 Michael González Harbour 12

Ejemplo 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 Michael González Harbour 13

Ejemplo (cont.) 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 Michael González Harbour 14

6. Entradas de Texto 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 Michael González Harbour 15

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 Michael González Harbour 16

Ejemplo (cont.) 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 Michael González Harbour 17

Ejemplo (cont.) 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 Michael González Harbour 18

Ejemplo (cont.) public void start() { public void paint(graphics g) { GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 19

7. Ejemplo: regresión lineal 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 Michael González Harbour 20

Ejemplo (cont.) import java.awt.*; import java.awt.event.*; import java.applet.*; 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 Michael González Harbour 21

Ejemplo (cont.) //Initialize the applet public void init() { try { this.setsize(new Dimension(640,480)); inserta=new Button("Inserta"); calcula=new Button("Calcula"); rl=new RegresionLineal(100); num1=new TextField(8); num2=new TextField(8); Label lab1=new Label("X"); Label lab2=new Label("Y"); add(lab1); add(num1); add(lab2); add(num2); add(inserta); add(calcula); GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 22

Ejemplo (cont.) inserta.addactionlistener(this); calcula.addactionlistener(this); catch(exception e) { e.printstacktrace(); GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 23

Ejemplo (cont.) public void actionperformed(actionevent ev) { double x,y; String str = ev.getactioncommand(); if (str.equals("inserta")) { try { x=double.parsedouble(num1.gettext()); y=double.parsedouble(num2.gettext()); rl.inserta(x,y); msg="insertados "+num1.gettext()+","+num2.gettext(); catch (Exception e) { msg="error en datos "; else if (str.equals("calcula")) { calculated=true; repaint(); // fuerza a que se llame a paint() GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 24

Ejemplo (cont.) public void paint(graphics g) { if (calculated) { g.drawstring("valores obtenidos. A="+rl.coefA()+ " B="+rl.coefB()+ " r="+rl.correlacion(),40,460); rl.dibuja(g); else { g.drawstring(msg,40,60); GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 25