// // App2Thread.java // Copyright (c) 1996, Agustin Froufe // Todos los derechos reservados. // // No se asume ninguna responsabilidad por el uso o alteracion de este // software. Este software se proporciona COMO ES, sin garantia de ningun // tipo de su funcionamiento y en ningun caso sera el autor responsable de // daños o perjuicios que se deriven del mal uso del software, aun cuando // este haya sido notificado de la posibilidad de dicho daño. // // Compilador: javac 1.0 // Autor: Agustin Froufe // Creacion: 14-Sep-1996 16:25:15 // //-------------------------------------------------------------------------- // Esta informacion no es necesariamente definitiva y est  sujeta a cambios // que pueden ser incorporados en cualquier momento, sin avisar. //-------------------------------------------------------------------------- import java.awt.*; import java.applet.Applet; public class App2Thread extends Applet implements Runnable { Thread t; int contador; boolean suspendido; // Creamos el applet y lo arrancamos public void init() { contador = 0; suspendido = false; t = new Thread( this ); t.start(); } // Corazón del applet, incrementa el contador, lo pinta en la // pantalla y tiene su tiempo de espera, tanto para incrementar // de nuevo el contador como para dejar tiempo a la CPU para que // atienda a otros applets o aplicacionesque pudiesen convivir public void run() { while( true ) { contador++; repaint(); try { t.sleep( 10 ); } catch( InterruptedException e ) { ; }; } } // En este caso, cuando pulsamos el ratón si el thread estaba // suspendido, recuperamos su ejecución, y si estaba corriendo // lo suspendemos. // El estado se controla a través de una variable booleana public boolean mouseDown( Event evt,int x,int y ) { if( suspendido ) t.resume(); else t.suspend(); suspendido = !suspendido; return( true ); } // Actualizamos un contador en la ventana del applet y otro en // la consola public void paint( Graphics g ) { g.drawString( Integer.toString( contador ),10,10 ); System.out.println( "Contador= "+contador ); } // Paramos el applet public void stop() { t.stop(); } } //---------------------------------------- Final del fichero App2Thread.java