Definición de JavaBean o Componente Swing/AWT
Un
JavaBean o bean es un componente hecho en software que se puede reutilizar y
que puede ser manipulado visualmente por una herramienta de programación en
lenguaje Java.
Para
ello, se define un interfaz para el momento del diseño (design time) que
permite a la herramienta de programación o IDE, interrogar (query) al
componente y conocer las propiedades (properties) que define y los tipos
de sucesos (events) que puede generar en respuesta a diversas acciones.
Aunque
los beans individuales pueden variar ampliamente en funcionalidad desde los más
simples a los más complejos, todos ellos comparten las siguientes
características:
- Introspection: Permite analizar a la herramienta de programación o IDE como trabaja el bean
- Customization: El programador puede alterar la apariencia y la conducta del bean.
- Events: Informa al IDE de los sucesos que puede generar en respuesta a las acciones del usuario o del sistema, y también los sucesos que puede manejar.
- Properties: Permite cambiar los valores de las propiedades del bean para personalizarlo (customization).
- Persistence: Se puede guardar el estado de los beans que han sido personalizados por el programador, cambiando los valores de sus propiedades.
En
general, un bean es una clase que obedece ciertas reglas:
- Un bean tiene que tener un constructor por defecto (sin argumentos)
- Un bean tiene que tener persistencia, es decir, implementar el interface Serializable.
- Un bean tiene que tener introspección (instrospection). Los IDE reconocen ciertas pautas de diseño, nombres de las funciones miembros o métodos y definiciones de las clases, que permiten a la herramienta de programación mirar dentro del bean y conocer sus propiedades y su conducta.
Una
propiedad es un atributo del JavaBean que afecta a su apariencia o a su
conducta. Por ejemplo, un botón puede tener las siguintes propiedades: el
tamaño, la posición, el título, el color de fondo, el color del texto, si está
o no habilitado, etc.
Las
propiedades de un bean pueden examinarse y modificarse mediante métodos o
funciones miembro, que acceden a dicha propiedad, y pueden ser de dos tipos:
- getter method: lee el valor de la propiedad
- setter method: cambia el valor de la propiedad.
Un IDE
que cumpla con las especificaciones de los JavaBeans sabe como analizar un bean
y conocer sus propiedades. Además, crea una representación visual para cada uno
de los tipos de propiedades, denominada editor de propiedades, para que el
programador pueda modificarlas fácilmente en el momento del diseño.
Cuando un
programador, coge un bean de la paleta de componentes y lo deposita en un
panel, el IDE muestra el bean sobre el panel. Cuando seleccionamos el bean aparece
una hoja de propiedades, que es una lista de las propiedades del bean, con sus
editores asociados para cada una de ellas.
El IDE
llama a los métodos o funciones miembro que empiezan por get, para
mostrar en los editores los valores de las propiedades. Si el programador
cambia el valor de una propiedad se llama a un método cuyo nombre empieza por set,
para actualizar el valor de dicha propiedad y que puede o no afectar al aspecto
visual del bean en el momento del diseño.
Las
especificaciones JavaBeans definen un conjunto de convenciones (design
patterns) que el IDE usa para inferir qué métodos corresponden a propiedades.
public void setNombrePropiedad(TipoPropiedad
valor)
public TipoPropiedad getNombrePropiedad( )
Cuando el
IDE carga un bean, usa el mecanismo denominado reflection para examinar
todos los métodos, fijándose en aquellos que empiezan por set y get.
El IDE añade las propiedades que encuentra a la hoja de propiedades para que el
programador personalice el bean.
Una
propiedad simple representa un único valor.
Ejemplo
|
//miembro de la clase que se
usa para guardar el valor de la propiedad
private String nombre;
//métodos set y get de la
propiedad denominada Nombre
public void setNombre(String
nuevoNombre){
nombre=nuevoNombre;
}
public
String getNombre(){
return nombre;
}
|
En el
caso de que dicha propiedad sea booleana se escribe
|
//miembro de la clase que se
usa para guardar el valor de la propiedad
private boolean
conectado=false;
//métodos set y get de la
propiedad denominada Conectado
public void
setConectado(boolean nuevoValor){
conectado=nuevoValor;
}
public boolean isConectado(){
return conectado;
}
|
Una
propiedad indexada representa un array de valores.
|
//miembro de la clase que se
usa para guardar el valor de la propiedad
private int[]
numeros={1,2,3,4};
//métodos set y get de la
propiedad denominada Numeros, para el array completo
public void setNumeros(int[]
nuevoValor){
numeros=nuevoValor;
}
public
int[] getNumeros(){
return numeros;
}
//métodos get y set para un
elemento de array
public
void setNumeros(int indice, int nuevoValor){
numeros[indice]=nuevoValor;
}
public int getNumeros(int
indice){
return numeros[indice];
}
|
Los
objetos de una clase que tiene una propiedad ligada notifican a otros objetos
(listeners) interesados, cuando el valor de dicha propiedad cambia, permitiendo
a estos objetos realizar alguna acción. Cuando la propiedad cambia, se crea un
objeto (event) que contiene información acerca de la propiedad (su nombre, el
valor previo y el nuevo valor), y lo pasa a los otros objetos (listeners)
interesados en el cambio.
Propiedades restringidas (constrained)
Una
propiedad restringida es similar a una propiedad ligada salvo que los objetos
(listeners) a los que se les notifica el cambio del valor de la propiedad
tienen la opción de vetar (veto) cualquier cambio en el valor de dicha
propiedad.
Instalando
un Componente de Java Swing/Awt en NetBeans
Primeramente
se inicia el Netbeans para comenzar con el proceso.
Enseguida hay dos formas de empezar el proceso,
una es, ingresar a la pestaña “Herramientas”, luego en “Paleta” y por ultimo en
“Componentes Swing/AWT”.
La otra forma seria localizar la paleta de
herramientas, hacer click derecho en cualquier espacio de ella y seleccionar administración
de paleta.
A continuación aparecerá una ventana con
varias opciones, no se moverá nada solo se seleccionara “Añadir de Archivo jar”.
En
la ventana siguiente se ubicara el directorio donde se encuentran los Beans
almacenados.
Dentro
del directorio donde se encuentran los Beans se selecciona el archivo JAR y se
elige el archivo que contiene el bean deseado y se le da siguiente.
Enseguida aparece
una ventana donde muestra todos los beans que contiene el archivo JAR, en este caso solo
contiene un bean. Se elige y se le da siguiente.
Después se elige
la carpeta donde qe quiere que aparezca el bean, en este caso se eligio beans
personalizados, y se le da a terminar.
Entonces el bean
ya aparece en la parte donde quisimos que apareciera.}
Ahora solo se
selecciona o se arrastra y Listo ya podemos usar el bean para nuestra mejor
comodidad, en este caso fue un bean de un termómetro el cual yo no requiero
pero solo lo utilice de ejemplo para el tutorial.









