Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Tutoriales / Tutorial de Java - Escribir Applets Java

Tutorial de Java - Escribir Applets Java

 ***** (115 opiniones)
Creative Commons Tutorial de Agustín Froufe - 29 de Agosto de 2005
Temas Relacionados: Java
50. Escribir Applets Java
Para escribir applets Java, hay que utilizar una serie de métodos, algunos de los cuales ya se hay sumariado al hablar de los métodos del appletviewer, que es el visualizador de applets de Sun. Incluso para el applet más sencillo necesitaremos varios métodos. Son los que se usan para arrancar (start) y detener (stop) la ejecución del applet, para pintar (paint) y actualizar (update) la pantalla y para capturar la información que se pasa al applet desde el fichero HTML a través de la marca APPLET.



init()


Esta función miembro es llamada al crearse el applet. Es llamada sólo una vez. La clase Applet no hace nada en init(). Las clases derivadas deben sobrecargar este método para cambiar el tamaño durante su inicialización, y cualquier otra inicialización de los datos que solamente deba realizarse una vez. Deberían realizarse al menos las siguientes acciones:

  • Carga de imágenes y sonido
  • El resize del applet para que tenga su tamaño correcto
  • Asignación de valores a las variables globales

Por ejemplo:

public void init() { if( width < 200 || height < 200 ) resize( 200,200 ); valor_global1 = 0; valor_global2 = 100; cargaremos imágenes en memoria sin mostrarlas cargaremos música de fondo en memoria sin reproducirla }



destroy()


Esta función miembro es llamada cuando el applet no se va a usar más. La clase Applet no hace nada en este método. Las clases derivadas deberían sobrecargarlo para hacer una limpieza final. Los applet multithread deberán usar destroy() para "matar" cuanquier thread del applet que quedase activo.



start()


Llamada para activar el applet. Esta función miembro es llamada cuando se visita el applet. La clase Applet no hace nada en este método. Las clases derivadas deberían sobrecargarlo para comenzar una animación, sonido, etc.

public void start() { estaDetenido = false; comenzar la reproducción de la música musicClip.play(); }

También se puede utilizar
start() para eliminar cualquier thread que se necesite.



stop()


Llamada para detener el applet. Se llama cuando el applet desaparece de la pantalla. La clase Applet no hace nada en este método. Las clases derivadas deberían sobrecargarlo para detener la animación, el sonido, etc.

public void stop() { estaDetenido = true; if( /* ¿se está reproduciendo música? */ ) musicClip.stop(); }



resize( int width,int height )


El método
init() debería llamar a esta función miembro para establecer el tamaño del applet. Puede utilizar las variables ancho y alto, pero no es necesario. Cambiar el tamaño en otro sitio que no sea init() produce un reformateo de todo el documento y no se recomienda.

En el navegador Netscape, el tamaño del applet es el que se indica en la marca APPLET del HTML, no hace caso a lo que se indique desde el código Java del applet.



width


Variable entera, su valor es el ancho definido en el parámetro WIDTH de la marca HTML del APPLET. Por defecto es el ancho del icono.



height


Variable entera, su valor es la altura definida en el parámetro HEIGHT de la marca HTML del APPLET. Por defecto es la altura del icono. Tanto width como height están siempre disponibles para que se puede chequear el tamaño del applet.

Podemos retomar el ejemplo de
init():

public void init() { if( width < 200 || height < 200 ) resize( 200,200 ); ...



paint( Graphics g )


Se llama cada vez que se necesita refrescar el área de dibujo del applet. La clase Applet simplemente dibuja una caja con sombreado de tres dimensiones en el área. Obviamente, la clase derivada debería sobrecargar este método para representar algo inteligente en la pantalla.

Para repintar toda la pantalla cuando llega un evento
Paint, se pide el rectángulo sobre el que se va a aplicar paint() y si es más pequeño que el tamaño real del applet se invoca a repaint(), que como va a hacer un update(), se actualizará toda la pantalla.

Podemos utilizar
paint() para imprimir nuestro mensaje de bienvenida:

void public paint( Graphics g ) { g.drawString( "Hola Java!",25,25 );
Dibujaremos la imágenes que necesitemos }



update( Graphics g )


Esta es la función que se llama realmente cuando se necesita actualizar la pantalla. La clase Applet simplemente limpia el área y llama al método paint(). Esta funcionalidad es suficiente en la mayoría de los casos. De cualquier forma, las clases derivadas pueden sustituir esta funcionalidad para sus propósitos.

Podemos, por ejemplo, utilizar update() para modificar selectivamente partes del área gráfica sin tener que pintar el área completa:

public void update( Graphics g ) { if( estaActualizado ) { g.clear(); garantiza la pantalla limpia repaint(); podemos usar el método padre: super.update() } else Información adicional g.drawString( "Otra información",25,50 ); }



repaint()


A esta función se la debería llamar cuando el applet necesite ser repintado. No debería sobrecargarse, sino dejar que Java repinte completamente el contenido del applet.

Al llamar a
repaint(), sin parámetros, internamente se llama a update() que borrará el rectángulo sobre el que se redibujará y luego se llama a paint(). Como a repaint() se le pueden pasar parámetros, se puede modificar el rectángulo a repintar.



getParameter( String attr )


Este método carga los valores parados al applet vía la marca APPLET de HTML. El argumento
String es el nombre del parámetro que se quiere obtener. Devuelve el valor que se le haya asignado al parámetro; en caso de que no se le haya asignado ninguno, devolverá null.

Para usar
getParameter(), se define una cadena genérica. Una vez que se ha capturado el parámetro, se utilizan métodos de cadena o de números para convertir el valor obtenido al tipo adecuado.

public void init() { String pv; pv = getParameter( "velocidad" ); if( pv
null ) velocidad = 10; else velocidad = Integer.parseInt( pv ); }


getDocumentBase()


Indica la ruta
http, o el directorio del disco, de donde se ha recogido la página HTML que contiene el applet, es decir, el lugar donde está la hoja en todo Internet o en el disco.



getCodeBase()


Indica la ruta
http, o el directorio del disco, de donde se ha cargado el código bytecode que forma el applet, es decir, el lugar donde está el fichero .class en todo Internet o en el disco.



print( Graphics g )


Para imprimir en impresora, al igual que
paint() se puede utilizar print(), que pintará en la impresora el mapa de bits del dibujo.
Tabla de contenidos
  1. 1 - DECLARACIÓN DE INTENCIONES
  2. 2 - PRESENTACIÓN
  3. 3 - INTRODUCCIÓN A JAVA
  4. 4 - Origen de JAVA
  5. 5 - Características de JAVA
  6. 6 - HotJava
  7. 7 - JAVA para aplicaciones corporativas
  8. 8 - INSTALACIÓN DEL JDK
  9. 9 - Windows
  10. 10 - Solaris
  11. 11 - Linux
  12. 12 - Compilación sin JDK
  13. 13 - CONCEPTOS BÁSICOS DE JAVA
  14. 14 - Programación en JAVA
  15. 15 - Control del Flujo
  16. 16 - Clases
  17. 17 - Variables y Métodos de Instancia
  18. 18 - Alcance de Objetos y Reciclado de Memoria
  19. 19 - Herencia
  20. 20 - Control de Acceso
  21. 21 - Variables y Métodos Estaticos
  22. 22 - this y super
  23. 23 - Clases Abstractas
  24. 24 - Interfaces
  25. 25 - Métodos Nativos
  26. 26 - Paquetes
  27. 27 - Referencias
  28. 28 - Punteros y Referencias C
  29. 29 - Referencias en Java
  30. 30 - Referencias y Arrays
  31. 31 - Referencias y Listas
  32. 32 - Punteros C/C++ y Referencias Java
  33. 33 - PROGRAMAS BÁSICOS EN JAVA
  34. 34 - Una mínima aplicación en Java
  35. 35 - Compilación y Ejecución de HolaMundo
  36. 36 - El visor de Applets de Sun (appletviewer)
  37. 37 - Arquitectura de appletviewer
  38. 38 - Métodos de appletviewer
  39. 39 - Funciones de menú de appletviewer
  40. 40 - Un Applet basico en Java
  41. 41 - Compilación de un Applet
  42. 42 - La marca APPLET de html
  43. 43 - Atributos de APPLET
  44. 44 - Paso de parametros a Applets
  45. 45 - Tokens en parametros de llamada
  46. 46 - El parametro ARCHIVE
  47. 47 - Depuración general
  48. 48 - Ciclo de vida de un Applet
  49. 49 - Protección de Applets
  50. 50 - Escribir Applets Java
  51. 51 - La aplicación Fecha (Aproximación a OOP)
  52. 52 - EL DEPURADOR DE JAVA - JDB
  53. 53 - CLASES JAVA
  54. 54 - La clase Math
  55. 55 - La clase Character
  56. 56 - La clase Float
  57. 57 - La clase Double
  58. 58 - La clase Integer
  59. 59 - La clase Long
  60. 60 - La clase Boolean
  61. 61 - La clase String
  62. 62 - La clase StringBuffer
  63. 63 - Uso de Conversiones
  64. 64 - ABSTRACT WINDOW TOOLKIT (AWT)
  65. 65 - Interface de Usuario
  66. 66 - Estructura del AWT
  67. 67 - Componentes y Contenedores
  68. 68 - Tipos de Componentes
  69. 69 - BorderLayout
  70. 70 - CardLayout
  71. 71 - CheckboxGroup
  72. 72 - Color
  73. 73 - Component
  74. 74 - Button - Botones
  75. 75 - Canvas
  76. 76 - Checkbox
  77. 77 - Choice
  78. 78 - Container
  79. 79 - Label - Etiquetas
  80. 80 - List - Listas
  81. 81 - Scrollbar - Barras de desplazamiento
  82. 82 - TextComponent
  83. 83 - Fijar el tamaño preferido
  84. 84 - La clase Event
  85. 85 - FlowLayout
  86. 86 - Cambio de fuente de caracteres
  87. 87 - GridLayout
  88. 88 - GridBagLayout
  89. 89 - Uso de Insets
  90. 90 - MenuComponent
  91. 91 - LayoutManager
  92. 92 - Diseño de Componentes propios
  93. 93 - Creación de Aplicaciones con AWT
  94. 94 - Crear el Marco de la aplicación (Frame)
  95. 95 - Inicializar Fuentes, Colores, Layouts y demas recursos
  96. 96 - Crear menús y Barras de Menús
  97. 97 - Crear los controles, dialogos, ventanas, etc.
  98. 98 - Layouts
  1. 99 - FlowLayout
  2. 100 - BorderLayout
  3. 101 - GridLayout
  4. 102 - GridBagLayout
  5. 103 - CardLayout
  6. 104 - Crear un Layout propio
  7. 105 - Control de Eventos
  8. 106 - La clase Event
  9. 107 - Tipos de Eventos
  10. 108 - Generación y Propagación de Eventos
  11. 109 - Métodos de Control de Eventos
  12. 110 - Action_Event
  13. 111 - Mejorar el Diseño de Interfaces
  14. 112 - Cambio de Font de Caracteres
  15. 113 - Colores de Fondo y Texto
  16. 114 - Fijar el Tamaño Preferido
  17. 115 - Uso de Insets
  18. 116 - Habilitar y Deshabilitar Componentes
  19. 117 - Botón Grafico
  20. 118 - GRÁFICOS
  21. 119 - Métodos para Dibujos
  22. 120 - Líneas
  23. 121 - Rectangulos
  24. 122 - Círculos, Elipses
  25. 123 - EXCEPCIONES EN JAVA
  26. 124 - Funciones Graficas
  27. 125 - Manejo de Excepciones
  28. 126 - Fractales
  29. 127 - Generar Excepciones en Java
  30. 128 - Líneas Flotantes
  31. 129 - Excepciones Predefinidas
  32. 130 - Métodos para Imagenes
  33. 131 - Crear Excepciones Propias
  34. 132 - Doble Buffering de Graficos
  35. 133 - Capturar Excepciones
  36. 134 - Nuevas Clases para Dibujo
  37. 135 - Propagación de Excepciones
  38. 136 - La Clase MediaTracker
  39. 137 - THREADS Y MULTITHREADING
  40. 138 - Sonido en Java
  41. 139 - Flujo en Programas
  42. 140 - Entrada por Ratón
  43. 141 - Creación y Control de Threads
  44. 142 - Arrancar y Parar Threads
  45. 143 - Suspender y Reanudar Threads
  46. 144 - Estados de un Thread
  47. 145 - Scheduling
  48. 146 - Prioridades, demonios...
  49. 147 - Ejemplo de Animación
  50. 148 - Comunicación entre Threads
  51. 149 - MÉTODOS NATIVOS
  52. 150 - Escribir Código Java
  53. 151 - Compilar el Código Java
  54. 152 - Crear el fichero de Cabecera
  55. 153 - Crear el fichero de Stubs
  56. 154 - Escribir la función C
  57. 155 - Crear la Librería Dinamica
  58. 156 - Ejecutar el Programa
  59. 157 - ENTRADA / SALIDA ESTÁNDAR
  60. 158 - La clase System
  61. 159 - Clases comunes de Entrada/Salida
  62. 160 - FICHEROS EN JAVA
  63. 161 - Ficheros
  64. 162 - Streams de Entrada
  65. 163 - Streams de Salida
  66. 164 - Ficheros de Acceso Aleatorio
  67. 165 - COMUNICACIONES EN JAVA
  68. 166 - Comunicaciones en Unix
  69. 167 - Sockets
  70. 168 - Diferencias entre Sockets Stream y Datagrama
  71. 169 - Uso de Sockets
  72. 170 - Dominios de Comunicaciones
  73. 171 - Modelo de Comunicaciones con Java
  74. 172 - Apertura de Sockets
  75. 173 - Creación de Streams
  76. 174 - Cierre de Sockets
  77. 175 - Mínimo Cliente SMTP
  78. 176 - Servidor de Eco
  79. 177 - Cliente/Servidor TCP/IP
  80. 178 - Servidor Simple de HTTP
  81. 179 - Red en Windows '95 (sin conexión)
  82. 180 - Clases Útiles en Comunicaciones
  83. 181 - ARQUITECTURA MVC EN JAVA
  84. 182 - La Arquitectura MVC
  85. 183 - Observador y Observable
  86. 184 - Cómo utilizar Observer y Observable
  87. 185 - Ejemplo de aplicación MVC
  88. 186 - APLICACIONES EN JAVA
  89. 187 - Etiqueta
  90. 188 - Reloj Digital
  91. 189 - Persiana
  92. 190 - Solapas
  93. 191 - Transparencia
  94. 192 - Calculadora
  95. 193 - Cuenta-Kilómetros
  96. 194 - Cartel
  97. 195 - FINAL Y AGRADECIMIENTOS
  98. 196 - JAVA Y MATLAB
Autor y licencia de 'Tutorial de Java - Escribir Applets Java'
Agustín Froufe Extraído de: http://www.publispain.com/supertutoriales/

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Tutorial de Java - Escribir Applets Java'

La idea es dar una guía ordenada para el estudio de este lenguaje, muy poderoso... Más »
Si su programa es software libre, básicamente es ético--pero hay una trampa de la que... Más »
Este tutorial presenta los conceptos básicos de líneas de transmisión (Transmission lines), así como una... Más »
PHP se ha convertido en el lenguaje de facto de Internet y no es difícil... Más »
Si tuviera que buscar un adjetivo para calificar a Sendmail, pensaría en "excesivo". Excesivo puesto... Más »
Gente Wiki
Pablo Ross
Productor de programas de radio, me pueden sintonizar en la web en www.neon89.con mi programa se llama Interactivo 3 a...
Luis Mandiola Sapiain
Ing. Mecánico, dedicado más de 12 años en trabajo con plantas de tratamiento. Mi especialidad es trabajo con osmosis inversa....
José Iván
Soy director de una de las ramas de la fundación cuatro soles, llamada " el sol de la creatividad inteligente"....
Física
Herbert Valenzuela
Hola; soy técnico en electronica y telecomunicaciones con 25. 8 años de experiencia en las telecomunicaciones. Trabaje 17....
Dra. Guillermina Camarillo Santamaría
Hola soy médico de formación, practico la medicina privada e institucional en la ciudad de hermosillo, sonora, méxico. Soy una...
Dirección comercial, Dirección de empresas,...
Ricardo Arencibia Jorge
Especialista en bibliotecología y ciencias de la información.
Suscribirse
¿Estás seguro de que deseas eliminar este capítulo?