Beans (Básico)

Para obtener el mejor resultado de esta secci�n, deber�as leer primero los cap�tulos 7 y 8, de la Especificaci�n del API JavaBean.

Si creamos una clase Bean, le damos una variable de ejemplar llamada color, y accedemos a color a trav�s de un m�todo obtnedor llamado getColor y un m�todo seleccionador llamado setColor, entonces hemos creado una propiedad.

Las propiedades son aspectos de la apariencia o comportamiento de un Bean que pueden ser modificados en el momento del dise�o.

Los nombres de los m�todos para obtener o seleccionar propiedades deben seguir unas reglas espec�ficas, llamadas patrones de dise�o. Utilizando estos nombres de m�todos basados en patrones de dise�o, las herramientas compatibles con JavaBeans (y el BeanBox) pueden.

  • Descubrir las propiedades de un Bean.
  • Determinar los atributos de lectura/escritura de las propiedades.
  • Determinar los tipos de propiedades.
  • Localizar un editor apropiado para cada tipo de propiedad.
  • Mostrar las propiedades (normalmente en una hoja de propiedades).
  • Modificar esas propiedades (en tiempo de dise�o).

Por ejemplo, una herramienta de construcci�nm cuando introspeccione nuestro Bean, descubrir� dos m�todos.

public Color getColor() { ... }
public void setColor(Color c) { ... }

A partir de esto la herramienta puede asegurar que existe una propiedad llamada color, que se puede leer y reescribir, y que su tipo es Color. Adem�s, la herramienta puede intentar localizar un editor de propiedad para ese tipo, y mostrar la propiedad para que pueda ser editada.

.�A�adir la propiedad Color a SimpleBean

Haremos los siguientes cambios en SimpleBean.java para a�adir la propiedad color.

  1. Crear e inicializar una variable de ejemplar privada.
      private Color color = Color.green; 
    
  2. Escribir un m�todo para obtener la propiedad.
       public Color getColor(){
         return color;
       } 
    
  3. Escribir un m�todo para seleccionar la propiedad.
        public void setColor(Color newColor){
         color = newColor;
         repaint();
        }
    
  4. Sobreescribir el m�todo paint(). Esto es necesario para todas las subclases de Canvas.
        public void paint(Graphics g) {
         g.setColor(color);
         g.fillRect(20, 5, 20, 30);
        }
    
  5. Compilar el Bean, cargarlo en el ToolBox, y crear un ejemplar en el BeanBox.

Los resultados son:

  • SimpleBean se mostrar� con un rect�ngulo verde centrado.
  • La hoja de propiedades contendr� una nueva propiedad Color. El mecanismo de introspecci�n tambi�n buscar� un editor para la propiedad color. El editor de la propiedad Color es uno de los editores por defecto suministrados con el BeanBox. Este editor se asigna como editor de la propiedad Color de SimpleBean. Pulsa sobre la propiedad color en la hoja de propiedades para lanzar este editor.

Aqu� tienes una ilustraci�n del BeanBox que muestra el ejemplar revisado de SimpleBean dentro del BeanBox, la nueva propiedad color en la hoja de propiedades de SimpleBean y un editor de la propiedad color. Recuerda, pulsando sobre la propiedad color en la hoja de propiedades se lanzar� este editor.

Aqu� tenemos el c�digo fuente completo de SimpleBean revisado para la propiedad color.

package sunw.demo.simple;
 
import java.awt.*;
import java.io.Serializable;
 
public class SimpleBean extends Canvas
                     implements Serializable{
 
  private Color color = Color.green;
 
  //property getter method
  public Color getColor(){
     return color;
  }
 
  //property setter method. Sets new SimpleBean
  //color and repaints.
  public void setColor(Color newColor){
     color = newColor;
     repaint();
  }
 
  public void paint(Graphics g) {
   g.setColor(color);
   g.fillRect(20, 5, 20, 30);
  }
 
  //Constructor sets inherited properties
  public SimpleBean(){
   setSize(60,40);
   setBackground(Color.red);
  }
}

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
SIGUIENTE ARTÍCULO