Documentos de Académico
Documentos de Profesional
Documentos de Cultura
V2.0
Octubre 2013
Ferreiras
Ferreiras Applets 1
Previous
Ferreiras Applets 2
HTML5 Tutorial
HTML5 Tutorial
By Jakob Jenkov
http://tutorials.jenkov.com/html5/index.html For selfstudy.
Sorry.
Table of Contents:
Ferreiras Applets 3
HTML5 Tutorial
Please see:
• Or go to:
HTML5 Tutorial
By Jakob Jenkov
http://tutorials.jenkov.com/html5/index.html
Ferreiras Applets 4
La clase JOptionPane
javax.swing.JOptionPane
showMessageDialog
Ferreiras Applets 5
La clase JOptionPane
showMessageDialog
Brings up a dialog that displays a message using a default icon determined by the messageType
parameter.
• Parameters:
• parentComponent Determines the Frame in which the dialog is displayed; if null, or if the
parentComponent has no Frame, a default Frame is used
Ferreiras Applets 6
JOptionPane
Un ejemplo
/*
Dialogo0.java
jdk1.7.0_13
*/
Ferreiras Applets 7
JOptionPane
Un ejemplo ...
import javax.swing.JOptionPane;
Ferreiras Applets 8
JOptionPane
Un ejemplo ...
JOptionPane.showMessageDialog
(
null, salida,
"Uso de sentencia compuesta etiquetada ( goto !! ) ",
JOptionPane.INFORMATION_MESSAGE
);
System.exit(0);
}
}
Ferreiras Applets 9
JOptionPane
Un ejemplo ... Corrida:
Ferreiras Applets 10
Applets de Java
Ferreiras Applets 11
La utilidad de los principios del
polimorfismo en JAVA tiene un buen
exponente en el uso de la clase JApplet
del paquete javax.swing, la cual tiene
varios métodos predefinidos de los que se
deben sobreescribir uno o mas para la
realización de un applet.
Ferreiras Applets 12
Applets
Un applet de JAVA es un programa de
JAVA que está destinado a ser incorporado
en un documento HTML,
HTML transportado a
través de una red, y ejecutado mediante un
navegador web. También pueden ser visto
localmente con dicho navegador y con el
appletviewer del JDK.
Ferreiras Applets 13
La versión .class (el java bytecode)
es vinculada a un documento HTML y
enviada a través de la Web. La JVM
incorporada en el navegador ejecutará el
applet una vez que este llegue a su
destino. Para los fines de la ejecución en
el navegador o en el appletviewer, el
método main() no tiene importancia.
Ferreiras Applets 14
Un applet de JAVA es un programa de JAVA que está destinado a ser incorporado en un
documento HTML, transportado a través de una red, y ejecutado mediante un navegador web.
Ferreiras Applets 15
La clase que define un applet es public
y extends la clase JApplet, la cual es parte
de javax.swing;
Ferreiras Applets 16
La clase Graphics Es de particular interés
en un applet. Esta en java.awt; Un objeto
Graphics define un contexto gráfico con el
cual podemos interactuar; Como siempre
vamos a necesitar usar un objeto Graphics
en paint, siempre se deberá importar la clase
Graphics dentro del código del applet.
Ferreiras Applets 17
Un applet tiene un ciclo de vida1 En el
cual, después de que el applet tiene la
capacidad de interactuar con el navegador, se
invoca, automáticamente, la secuencia de
métodos init(), start() y paint(), en
ese orden. Estos métodos son obtenidos de la
clase JApplet. Otros métodos que se esperan
estén disponibles son stop() y destroy(),
entre otros mas.
1: Para mas detalles de lo que ocurre antes de invocar la secuencia init(), start() y paint() ver en la
pagina 381, del libro "The Class of Java, Pravin M. Jain, Pearson, 2011 “, el subtema 21.2 LIFE-CYCLE
OF AN APPLET. Excelente explicación.
Ferreiras Applets 18
Por default Estos métodos son suplidos por
la clase JApplet “vacíos”, para ser
sobreescritos por el programador, usando los
principios del polimorfismo, según las
necesidades particulares al applet que
desarrolla. No todos los métodos indicados
tienen que ser sobreescritos. Solo los
requeridos.
Ferreiras Applets 19
En la documentación de java,
suplida por Oracle en su pagina web
http://download.oracle.com/javase/6/docs/api/
Ferreiras Applets 20
init
public void init()
Called by the browser or applet viewer to inform this applet that it has been loaded
into the system. It is always called before the first time that the start method is
called.
Ferreiras Applets 21
start
public void start()
Called by the browser or applet viewer to inform this applet that it should start its
execution. It is called after the init method and each time the applet is revisited in
a Web page.
Ferreiras Applets 22
stop
public void stop()
Called by the browser or applet viewer to inform this applet that it should stop its
execution. It is called when the Web page that contains this applet has been
replaced by another page, and also just before the applet is to be destroyed.
Ferreiras Applets 23
destroy
public void destroy()
Called by the browser or applet viewer to inform this applet that it is being
reclaimed and that it should destroy any resources that it has allocated.
The stop method will always be called before destroy.
Ferreiras Applets 24
paint
public void paint(Graphics g)
Paints the container. This forwards the paint to any lightweight components that
are children of this container. If this method is reimplemented, super.paint(g)
should be called so that lightweight components are properly rendered. If a child
component is entirely clipped by the current clipping setting in g, paint() will not
be forwarded to that child.
Overrides:
paint in class Component
Parameters:
g - the specified Graphics window
Ferreiras Applets 25
La aplicación en la cual un applet se
ejecuta es conocida como un "applet
container". Es responsabilidad del "applet
container" cargar la o las clases de applet,
crear una instancia del applet y administrar su
ciclo de vida. El JDK incluye un "applet
container" llamado appletviewer que permite
probar los applets antes de integrarlos en una
pagina Web. Un navegador Web ejecuta los
applets por medio de un Plug-In JAVA.
Ver definición en el
siguiente slide.
Ferreiras Applets 26
A plug-in is A set of software components
that adds specific abilities to a larger software
application.
application If supported, plug-ins enable
customizing the functionality of an application.
application
For example,
example plug-ins are commonly used in
web browsers to play video, scan for viruses,
and display new file types. Well-known plug-
ins examples include Adobe Flash Player,
QuickTime, and Microsoft Silverlight.
From: http://en.wikipedia.org/wiki/Plug-in_(computing)
Ferreiras Applets 27
El JDK incluye un "applet container"
llamado appletviewer que permite probar los
applets antes de integrarlos en una pagina
Web. Un navegador Web ejecuta los applets
por medio de un Plug-In JAVA.
Ferreiras Applets 28
En el código HTML en la página web
que carga el navegador web, WIDTH y
HEIGHT especifican las dimensiones, en
pixeles, del applet dentro del navegador.
Las dimensiones WIDTH X HEIGHT
máximas mas comunes para diseñar
applets son 800X600 . Otras podrían ser
1600X900, 1024X768, 1600X900.
Ferreiras Applets 29
Un típico
monitor de
hoy ( 2011)
tiene estas
dimensiones
Ferreiras Applets 30
Configuraciones típicas de pantalla
Recuperado de http://www.precisioninfo.com/index.php?doc_id=63
Ferreiras Applets 31
Ejemplo de applet:
/*
JApplet0.java
jdk1.7.0_13
*/
Ferreiras Applets 32
El profesor tiene que
// JApplet0.java / jdk1.7.0_13 hacer un esfuercito
adicional en la
public class JApplet0 extends JApplet { explicación de estos
elementos Applets
public void paint( Graphics g ) {
}
}
Ferreiras Applets 33
Código HTML para ejecutar el Applet:
<html>
<body>
<applet code = "JApplet0.class" width = "500" height = "45" >
</applet>
</body>
</html>
Ferreiras Applets 34
• Ejecución del Applet usando el appletviewer
Ferreiras Applets 35
Ventana 500 X 45,
en que se muestra
• Algunos detalles de interés el Apple. Se Barra de estado:
establece en el Imita la barra de
Y width = "500" HTML. estado que se
X mostrará en la del
navegador mientras
height = "45"
se carga e inicia la
Menú
ejecución del Applet.
del
Apple
Ferreiras Applets 36
Otro ejemplo de Applet:
/*
JApplet1.java
jdk1.6.0_25
*/
El profesor tiene que
import java.awt.Color; hacer un esfuercito
import java.awt.Graphics; adicional en la
import java.awt.Graphics2D; explicación de estos
import java.awt.Rectangle; elementos Applets
import javax.swing.JApplet;
Ferreiras Applets 37
public class JApplet1 extends JApplet{
Graphics2D g2 = (Graphics2D) g;
Ferreiras Applets 38
// Mover el rectangulo 15 unidades a la dereche y 25 unidades abajo
r1.translate(15, 25);
r1.translate(15, 25);
g2.setColor(Color.GREEN);
g2.fill(r1);
Ferreiras Applets 39
/*
1) Código HTML
a) Muy simple
Ferreiras Applets 40
b) Mas elegante
<html>
<head>
<title> Tres Rectangulos </title>
</head>
<body>
<p> Ejemplo de herencia <i>Haciendo extends a la clase JApplet</i>:
</p>
<applet code = "JApplet0.class" width = "300" height = "400" >
</applet>
</body>
</html>
Ferreiras Applets 41
2) Para correrlo
*/
Ferreiras Applets 42
Corrida desde el appletviewer
Ferreiras Applets 43
Corrida desde un web browser (chrome)
Ferreiras Applets 44
Seguridad Los applets tienen normas
estrictas de seguridad que son aplicadas por
los navegadores Web. Esto así porque
cuando un usuario visualiza una página
HTML que contiene un applet, el código del
applet es descargado en la máquina del
usuario.
Ferreiras Applets 45
Por ejemplo:
Ferreiras Applets 46
El navegador web descarga el applet sin el conocimiento
del usuario;
Ferreiras Applets 47
En general, los applets están restringidos
y no pueden:
Leer y escribir en el sistema local de archivos;
Quitar o eliminar los archivos del sistema local de archivos;
Crear o cambiar el nombre de los directorios en el sistema local de
archivos;
Listar el contenido del directorio o comprobar la existencia de un
archivo;
Obtener información de los atributos de los archivos, tal como
tamaño, fecha de modificación, tipo, etc.;
Crear conexiones de red a otra computadores diferentes a la que es
origen del applet;
Escuchar o conectarse a través de los puertos en el sistema local;
Leer o modificar diversas propiedades del sistema local;
Detener la ejecución del intérprete de Java;
Cargar librerías locales o invocar ejecutables locales;
Ferreiras Applets 48
Otro applet de ejemplo
/*
AdditionApplet.java
jdk1.6.0_22
Recuperado de:
http://media.pearsoncmg.com/ph/esm/deitel/java_htp9e/code_examples/code_examples.html
*/
Ferreiras Applets 49
// Applet that adds two double values entered via input dialogs.
Ferreiras Applets 50
// initialize applet by obtaining values from user
public void init()
{
// obtain first number from user
String firstNumber = JOptionPane.showInputDialog(
"Enter first floating-point value" );
Ferreiras Applets 51
// draw results in a rectangle on applet’s background
public void paint( Graphics g )
{
super.paint( g ); // call superclass version of method paint
Ferreiras Applets 52
/************************************************************************************
(C) Copyright 1992-2012 by Deitel & Associates, Inc. and
Pearson Education, Inc. All Rights Reserved.
DISCLAIMER: The authors and publisher of this book have used their
best efforts in preparing the book. These efforts include the
development, research, and testing of the theories and programs
to determine their effectiveness. The authors and publisher make
no warranty of any kind, expressed or implied, with regard to these
programs or to the documentation contained in these books. The authors
and publisher shall not be liable in any event for incidental or
consequential damages in connection with, or arising out of, the
furnishing, performance, or use of these programs.
************************************************************************************/
Ferreiras Applets 53
C:\Program Files\Java\jdk1.6.0_22\bin> appletviewer AdditionApplet.html
C:\Program Files\Java\jdk1.6.0_22\bin>
Ferreiras Applets 54
Applet y aplicación Podemos escribir
un programa java que se pueda ejecutar
como un applet ó como una aplicación con
main(). Para ello, debido a la restricciones
de seguridad impuestas a los applets por
los browser, primero se define el applet. Si
el programa se ejecuta correctamente como
un applet, se puede hacer para que
funcione correctamente como una
aplicación. Sin embargo, lo contrario no
siempre es cierto.
Ferreiras Applets 55
Por ejemplo:
/*
JAppletApp0.java
jdk1.6.0_25
*/
Ferreiras Applets 56
import java.awt.*;
import javax.swing. *;
public void init() { // Para usar mas abajo, cuando se tire el applet
add( new Button( "Un Button de lujo") );
}
unFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
Ferreiras Applets 57
// El frame necesita un administrador de diseno ( un layout manager).
// Usamos un objeto GridLayout. Ver mas abajo.
unFrame.setLayout( new GridLayout(1, 0) );
// Maximizará el applet al size del frame.
// Le damos un size al frame, antes de ponerlo visible.
unFrame.setSize(650, 100);
/*
Mostrar el marco en la pantalla (hacerlo visible) antes de llamar al método init
del applet. En algunas implementaciones Java, parte de la información gráfica no
estará disponible hasta que haya un marco. Si el applet utiliza ciertas metodos
gráficos, como getGraphics() de la clase Component, en el método init(), puede
fallar a menos que exista un marco ya creado y que se este mostrando.
*/
unFrame.setVisible(true);
Ferreiras Applets 58
// Se crea el applet como una instancia de JApplet, unJApplet
unFrame.add(unJApplet);
}
}
Ferreiras Applets 59
Ejecutado como una aplicación java:
C:\Program Files\Java\jdk1.6.0_22\bin>
Ferreiras Applets 60
Ejecutado desde el appletviewer:
C:\Program Files\Java\jdk1.6.0_22\bin> appletviewer JAppletApp0.html
C:\Program Files\Java\jdk1.6.0_22\bin>
Ferreiras Applets 61
Ejecutado desde el navegador Chrome:
Ferreiras Applets 62
Applet, Servlet, JSP Cuál usar y
Cuándo ? Ver en los siguientes links:
http://www.thirdeyeconsulting.com/javahtml.html
http://www.coderanch.com/t/234694/Applets/java/Applet-vs-Servlet-or-JSP
Ferreiras Applets 63
To be
Continued
Later ..
.
Ferreiras Applets 64
EJEMPLOS
Ferreiras Applets 65
EJERCICIOS
Ferreiras Applets 66
Referencias
• Chapter 23: Applets and Java Web Start; Java: How To Program; Paul
Deitel, Harvey Deitel; Prentice Hall, Ninth Edition, 2012
•…
Ferreiras Applets 67
GRACIAS.
Ferreiras Applets 68