Beans binding

Publicado: noviembre 26, 2007 en Beans binding, NetBeans, Swing
Etiquetas:, , ,

Hola Amigos en esta oportunidad vamos a crear un pequeño ejemplo utilizando una de las nuevas caracteristicas que nos trae Netbeans 6.0, es el beans binding, el cual al momento de desarrollar aplicaciones de escritorio nos ahorra la escritura de codigo:

lo primero que se va a crear es una clase persona la cual va asi:


package beansbinding;

import java.util.ArrayList;
import java.util.List;

/**
*
* @author Edisoncor
*/
public class Persona {

private String dni;
private String nombres;
private String apellidos;

public Persona(){

}

public Persona(String dni,
String apellidos,
String nombres){
this.dni=dni;
this.apellidos=apellidos;
this.nombres=nombres;
}

public String getDni() {
return dni;
}

public void setDni(String dni) {
this.dni = dni;
}

public String getNombres() {
return nombres;
}

public void setNombres(String nombres) {
this.nombres = nombres;
}

public String getApellidos() {
return apellidos;
}

public void setApellidos(String apellidos) {
this.apellidos = apellidos;
}

@Override
public String toString() {
return getApellidos() + + getNombres();
}

public List getLista(){
ArrayList<Persona> lista = new ArrayList<Persona>();
lista.add(new Persona(1101,Juan,Cabrera));
lista.add(new Persona(1102,Luis,Marin));
lista.add(new Persona(1103,Pedro,Olmedo));
lista.add(new Persona(1104,Jorge,Ortiz));
lista.add(new Persona(1105,Antonio,Alvarez));
return lista.subList(0, lista.size());
}

}

Es una clase POJO sencilla la cual cuenta con tres atributos: dni, apellidos y nombres, ademas podemos observar que se sobreescribio el metodo toString() a continuación vamos a crear una nueva ventana (JFrame) a la cual le vamos añadir un jComboBox

BeansBinding

a Continuación arrastramos la clase Persona desde el navegador de proyectos hasta el frame que estamos creando, ustedes se fijaran que se añadio a otros componentes en la ventana Inspector

Beans Binding

A continuacion damos click derecho sobre el jComboBox, luego seleccionamos el submenu bind y damos click sobre elements,

Beans Binding

luego se nos presenta el cuadro dialogo bind cboListaPersonas donde seleccionamos:

  • Binding Source : persona
  • Binding Expresions : $(Lista)

y a continuacion damos clic sobre OK

BeansBinding

A continuación añadimos tres etiquetas y tres JTextField dentro de un Panel

Beans Binding

A continuación damos clic derecho sobre txtDNi (jTextField) del submenu bind seleccionamos text y luego seleccionamos

  • Binding Source: cboListaPersonas (El JComboBox)
  • Binding Expression: $(SelectedItem), al cual le añadimos .dni que hace referencia a la propiedad que se desea vincular, lo que nos queda $(SelectedItem.dni)

Luego damos clic sobre OK

Beans binding

Luego realizamos el mismo proceso para los Jtexfields para las demas propiedades, luego la aplicación queda asi:

Beans binding

Tanbien tenemos la posibilidad de poder utilizar convertidores tambien pueden descargar el proyecto completo

beansbinding8.jpg

comentarios
  1. Carlos dice:

    muy bueno el ejemplo, si quiero mover el el método getLista() a una clase ProveedorPersona {
    public List getLista(){
    ……………….
    }
    } faltaría alguna configuración mas , porque lo he probado y no puedo hacer el binding.
    Saludos

  2. edisoncor dice:

    No lo unico que tienes que hacer es arrastrar la clase ProveedorPersona() al formulario de trabajo, y luego realizas el bind al componente que desees, recuerda que al momento de relizar el bind tienes que seleccionar la clase proveedora

  3. Enrique dice:

    Gracias por tu trabajo. Claro y conciso. Volveré por aquí.

  4. Enrique dice:

    ¿Y cómo establezco el vínculo selecteditem del ComboBox? Es decir, supongamos que quiero seleccionar una persona de las cargadas y asignarle el id a otro bean.

  5. necesito ayuda con algo parecido dice:

    hola estoy haciendo unos botones combobox en el panel de netbeans y quiero saber como crear un boton y agregarle una lista desplegable a la cual hacer clik se relacione con otra clase ya echa…

    ejemplo: tengo un artefacto televisor… haces clik en televisor y se desplega una lista con opciones. (subir volumen, cambiarcanal, etc) yo ya tengo las clases de subir volumen y demas genradas…quiero saber como relaciono a estas haciendo clik en la opcion requerida…

    es el unico lugar donde encontre para pedir ayuda espero q lo veas y me des una mano…gracias de antemano

    saludos!!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s