para comenzar con todo esto
DESCRIPTION
porfavorTRANSCRIPT
Para comenzar con todo esto, despues de que ya tengamos nuestro
diseño anterior, lo que haremos es crear una clase que se llame Usuario,
esta clase tendra las propiedades que despliega el form anterior. Primero
haremos esto:
Creamos la clase y declaramos esas variables ( por cierto falto el ID, lo
agregan como int), despues damos clic derecho ( este es un buen tip
jaja), y en insertar codigo damos clic y aparecera esta lista desplegable, y
tenemos varias opciones para que netbeans nos agregue codigo, primero
le vamos a poner que nos agregue un constructor y seleccionamos todas
las propiedades, despues damos clic en getter and setter y
seleccionamos todas las propiedades
Como lo hicimos en el post de como llena un JComboBox, tenemos que
sobreescribir un metodo llamado toString, para que nos muestre lo que
nosotros desiemos al momento de agregar un objeto al JList
La clase quedara de la siguiente manera:12345678910111213141516
public class Usuario { private String nombre, apellido, direccion, telefono, email; private int id; public Usuario(String nombre, String apellido, String direccion, String telefono, String email) { this.nombre = nombre; this.apellido = apellido; this.direccion = direccion; this.telefono = telefono; this.email = email; }
public int getId() { return id; }
public void setId(int id) { this.id = id;
17181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
}
public String getApellido() { return apellido; }
public void setApellido(String apellido) { this.apellido = apellido; }
public String getDireccion() { return direccion; }
public void setDireccion(String direccion) { this.direccion = direccion; }
public String getEmail() { return email; }
public void setEmail(String email) { this.email = email; }
public String getNombre() { return nombre; }
public void setNombre(String nombre) { this.nombre = nombre; }
public String getTelefono() { return telefono; }
public void setTelefono(String telefono) { this.telefono = telefono; } @Override public String toString() { return nombre+" "+apellido; }}
Ahora tendremos que crear un modelo para nuestra lista, para eso
tenemos uno por default llamado DefaultListModel, declaramos y
creamos un objeto de tipo DefaultListModel en la clase de nuestro frame:
123456
/** Creates new form MainWindow */DefaultListModel modeloLista = new DefaultListModel();public MainWindow() { initComponents(); jList1.setModel(modeloLista);}
Creamos el modelo y se lo asignamos a nuestra lista. Ahora viene lo mas
sencillo del mundo!, en el boton que agregamos en el form damos doble
clic y en el evento simplemente agarramos los datos y creamos un objeto
de la clase usuario dandole los parametros en el constructor (importante
y para buena practica de programacion, no dejemos los nombres por
default, a cada textfield le cambiamos el nombre como ud deseen para
poder identificarlo, por ejemplo txfNombre,txfApellido,texfDireccion etc),
despues de crear nuestro objeto, lo agregamos a nuestra lista:
1234567891011121314
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String nombre, apellido, direccion, telefono, email; int id; nombre = txfNom.getText(); apellido = txfApe.getText(); direccion = txfDir.getText(); telefono = txfTel.getText(); email = txfMail.getText(); id = Integer.parseInt(txfId.getText());
Usuario objUsuario = new Usuario(id, nombre, apellido, direccion, telefono, email); modeloLista.addElement(objUsuario);}
Y asi se iran almacenando los objetos usuario a nuestra lista,
Ahora solo falta desplegar la informacion al seleccionar un elemento en
la lista, para eso haremos uso del evento del jList llamado valueChanged
y escribiremos lo siguiente
12345678910111213
private void jList1ValueChanged(javax.swing.event.ListSelectionEvent evt) { // TODO add your handling code here: int index= jList1.getSelectedIndex(); Usuario objUsuario=(Usuario)modeloLista.getElementAt(index);
lblId.setText("ID: "+objUsuario.getId()); lblNom.setText("Nombre: "+objUsuario.getNombre()); lblApe.setText("Apellido: "+objUsuario.getApellido()); lblDir.setText("Direccion: "+objUsuario.getDireccion()); lblTel.setText("Telefono: "+objUsuario.getTelefono()); lblMail.setText("Email: "+objUsuario.getEmail());
}
Y al seleccionar cada elemento que este en la lista nos desplegara la
informacion en los labels que habiamos agregado
Esto para mi ha sido util al momento de desarrollar diferentes
aplicaciones en el tecnologico!, espero les sea de ayuda!