Download Para todas aplicaciones web como applets, etc
Document related concepts
no text concepts found
Transcript
RESTRICCIONES EN LOS NAVEGADORES (Para todas aplicaciones web como applets, etc) En línea de ejecución no se puede llamar a otra aplicación ejecutable. Manejo de archivos de I/O. Llamadas a métodos nativos Abrir sockets excepto el del host que proporcionó el applet. MÉTODOS DE UN APPLET init(): Llamado cuando se crea el applet. Inicializa los datos. start(): Llamado cuando el applet se muestra. stop(): Llamado cuando el applet se oculta. public void init() { //Configura la GUI } public void start() { musicClip.play(); } public void stop() { musicClip.stop(); } Usualmente stop() y start() trabajan a la par. Un applet puede llamar a: System.out.println(“…”); Pero no es usual. El método paint (Graphics g) trabaja asíncronamente es manejado por el ambiente y no por el programa. import java.awt.*; import java.applet.*; public class Hola extends Applet { int cuenta; public void init() { cuenta=0; } public void paint (Graphics g) { g.drawString(“Hola”,25,25); ++cuenta; g.drawString(“cuenta:” + cuenta, 25,50); } } Otros Métodos: paint (Graphics g): Llamado cuando el componente de muestra, es decir cuando se ejecuta el algoritmo pde pintado. repaint(): Le puede solicitar al hilo del AWT que repinte el componente. update (Graphigs g): Es llamado por el hilo del AWT cuando se ha solicitado un repintado en el display. Condiciones de muestra el applet: 1. Cuando se solicita la muestra del applet, una parte de ella se ha dañado. 2. Cuando el programa y redibuja el display con nuevo contenido. SUGERENCIAS DE EJECUCIÓN Y MUESTRA 1. Mantener un model del display. Por ejemplo, para renderizar. 2. El método de paint() para el renderizado está basado solamente en el contenido del modelo. 3. El programa ha cambiado el display, actualizacndo el modelo y luego llamando a repaint() para que el método update() se llame con el hilo del AWT. MODELO 1 import java.awt.*; import java.awt.event.*; import java.applet.*; public class Modelo1 extends Applet { Point ultimo=null; public void init () { addMouseListener(new MiModelo()); } public void paint (Graphics g) { if (null!=ultimo) g.drawString(“Hola”,ultimo.x,ultimo.y); } class MiModelo extends MouseAdapter { public void mousePressed (MouseEvent e) { ultimo=e.getPoint(); repaint(); } } } MODELO 2 import java.awt.*; import java.awt.event.*; import java.applet.*; public class Modelo2 extends Applet { Point ultimo=null; public void init () { addMouseListener(new MiModelo2()); } public void update (Graphics g) { paint(g); } public void paint (Graphics g) { if (null!=ultimo) g.drawString(“Hola”,ultimo.x,ultimo.y); } class MiModelo2 extends MouseAdapter { public void mousePressed (MouseEvent e) { ultimo=e.getPoint(); repaint(); } } } MODELO 3 import java.awt.*; import java.awt.event.*; import java.applet.*; import java.util.List; import java.util.ArrayList; public class Modelo3 extends Applet { List clics= new ArrayList(5); public void init () { addMouseListener(new MiModelo3()); } public void update (Graphics g) { paint(g); } public void paint (Graphics g) { for (int x=0;x<clics.size();x++) { Point p=(Point) clics.get(x); g.drawString(“Hola”,p.x,p.y); } } class MiModelo3 extends MouseAdapter { public void mousePressed (MouseEvent e) { clics.add (e.getPoint()); repaint(); } } }