Investigación Sobre Applets. Alumno: Sergio Márquez Salazar Procesamiento de entrada con applets Java a veces se describe como un lenguaje de programación para la web debido a que se usa para escribir programas denominados applets que se ejecutan en un navegador de web. A continuación se muestra un programa en Java que muestra un applet con el mensaje "Me gusta Java" import java.applet.*; import java.awt.*; /** * Un applet que muestra "Me gusta Java" * */ public class PrimerApplet extends Applet { private Label saludo; public PrimerApplet () { saludo = new Label ("Me gusta Java"); } } Trabajo con Bluej Si usted está trabajando en Bluej, podrá observar que en los diagramas de clase aparece la palabra <<applet>> Para ejecutar un applet, deberá de mover el cursor del mouse a la clase, oprimir el botón derecho y seleccionar la opción Run Applet Que permite ejecutar: generar la página web para ejecutar el applet ejecutar el applet en el appletviewer ejecutar el applet en el navegador Cuando se están construyendo applets, se acostumbra ejecutarlos en el appletviewer. Por lo que si se selecciona está opción y se oprime el botón OK. También pueden construirse applet que contengan objetos gráficos y texto. Por ejemplo: import java.applet.Applet; import java.awt.*; /** * Applet que combina gráficos y texto */ public class Einstein extends Applet { public void paint (Graphics p) { p.drawRect (50,50, 40, 40); //cuadrado p.drawRect (60,80,225,30); //rectángulo p.drawOval (75,65,20,20); //círculo p.drawLine (35,60,100,120); //línea p.drawString ("Bienvenido a los applets", 110,70); p.drawString ("-- Albert Einstein", 130, 100); } } Eventos Acciones tales como mover un ratón, seleccionar un elemento del menú, introducir datos y oprimir la tecla ENTER, son todos eventos. Cuando el usuario realiza una de estas acciones, se dice que ha generado un evento. Los applets se programan de forma que se ejecuta un determinado método en respuesta a un determinado tipo de evento generado. Plantilla de un applet Sentencias import import jav.applet.*; import java.awt.*; Comentarios /* .... */ Nombre del applet { Declaraciones ... Métodos } ... public class nombre extends Applet AWT Los objetos denominados GUI (Graphical user interface) se usan para la interfaz gráfica de usuario basada en ventana. AWT y el nombre java.awt significa abstract windowing toolkit. El paquete java.awt contiene todas las clases que dan soporte a la funcionalidad de GUI. Algunos objetos del paquete java.awt son: Label (String), que permite mostrar un texto TextField (int), que acepta la entrada del usuario Ejemplo: Ver el applet Saludo.java , ejecutarlo en Bluej y checar funcionalidad de la edición de texto ¿Qué ocurre cuando se presiona ENTER? Contenedor de gestor de apariencia La colocación de objetos GUI en un applet es dictada por el gestor de apariencia asociado con el applet. Un gestor de apariencia es un objeto que controla la colocación y el tamaño de los objetos GUI, por ejemplo, los marcos de ventana, diálogos y applets son todos contenedores. Hay varias clases gestoras de apariencia en el paquete java.awt. Algunas de las más frecuentes son: FlowLayout (defáult, los objetos se situan de izquierda a derecha y de arriba a abajo) CardLayout GridLayout ActionListener Para procesar un evento, se necesitan dos tipos de objetos: generadores de eventos receptores o escuchadores de eventos Objetos GUI tales como: campos de texto, botones, barras de desplazamiento, etc. son generadores de eventos. Se sabe que un objeto TextField está activo cuando el cursor está parpadeando sobre dicho objeto. Cuando se mueve el cursor del ratón sobre un objeto de este tipo, se genera un evento de movimiento del ratón (incluso si no está activo). Un objeto TextField puede generar otros tipos de eventos. Para hacer que un objeto Saludo sea un receptor de eventos de acción, se debe hacer lo siguiente: Importar las clases de gestión de eventos con: import java.awt.event.*; Modificar la declaración de la clase para incluir la cláusula de ActionListener public class Saludo extends Applet implements ActionListener { ... } Añadir el método ActionPerformed a la declaración de la clase Registrar el objeto Saludo a la fuente de eventos entrada para indicar que es un receptor de eventos La interfaz ActionListener incluye un método abstracto denominado ActionPerformed. Para que Saludo implemente la interfaz ActionListener, su declaración de clase debe incluir la definición del método actionPerformed, que el generador de eventos llama cuando se genera un evento de acción. Plantilla para un applet que procesa una entrada: Sentencias import import java.applet.*; import java.awt.*; import java.awt.event.*; Comentarios /* .... */ Firma del applet y cláusula de implementación public class Nombre extends Applet implements ActionListener Declaración (“”) Métodos uno de los cuales es actionPerformed public void actionPerformed (ActionEvent event) { //Sentencias de respuesta } Para añadir al applet Saludo un receptor de acciones se debe añadir en el constructor: entrada.addActionListener (this); Para leer la entrada que da el usuario se puede utilizar el método getText () Ejemplo: Considere el applet Saludo2. Ejecútelo en Bluej utlizando su nombre La clase Button Existe un tipo de botón, denominado pushbutton, que es uno de los objetos GUI de uso frecuente. Para añadir una pulsación de botón a un applet, se crea una instancia de la clase Button del paquete java.awt. Por ejemplo: Button botonHola = new Button ("Hola"); Un botón genera un evento de acción cuando se pulsa sobre él. Por tanto, si se quiere procesar el evento, hay que añadir una receptor de acción a un botón. Para el applet SaludoConBoton, se añade un receptor de eventos de acción en el constructor de la forma siguiente: public SaludoConBoton () { //código para crear objetos GUI y añadirlos al applet botonHola.addActionListener (this); ... } Ejemplo: Ejecúte SaludoConBoton y vea que sucede cuando se oprime el botón creado Conversión de texto a valores numéricos Para convertir un String a un entero se puede utilizar el método getInteger ( ) de la clase textField Para convertir un String a double es necesario crear primero un objeto Double con el String como argumento. Por ejemplo: Double objetoDouble; objetoDouble = new Double ("234.67"); una vez creado el objeto Double, se puede obtener un valor real llamando al método del objeto doubleValue ( ); double x = objetoDouble.doubleValue ( ); Básicamente, los componentes de la GUI Swing son una alternativa que ofrece muchas mejorar en comparación con los componentes del AWT, los componentes de Swing son parte de la JFC (Java Foundation Classes) que también incluye clases para gráficos avanzados en dos dimensiones y funcionalidad para arrastrar y colocar.