jueves, 17 de julio de 2008
un value para jComboBox
con este emplo de jComboBox vamos a mostrar el nombre y cuando seleccionemos
un items de dicho jcomboBox vamos a traer un dato (para el ejemplo el id ), el
secreto de esta operacion es que el jcomboBox almacena object y es por eso que
le añadimos objetos de tipo persona al jComboBox , este objeto le sobre escribimos
el metodo toString que por defecto lo trae, porque es un metodo de la clase object
y todo objeto hereda de el , bueno en el metodo toString retornamos el
nombre , que seria lo que queremos mostrar en el JComboBox y generamos un
get del id para que cuando seleccionemos un objecto del jComboBox nos traiga el
get del objeto seleccionado.
El siguiente y bueno la mayoria de los codigos estan hechos con el IDE
Netbeans
Primero la clase persona:
public class persona {
private String nombre;
private String id ;
/** Creates a new instance of persona */
public persona(String nombre , String id ) {
this.nombre=nombre;
this.id=id;
}
public String getID()
{
return id ;
}
public String toString()
{
return nombre ;
}
}
ahora el codigo de la ventana
//////////////////////////////////////////////////////////////////
public class ventana extends javax.swing.JFrame {
DefaultComboBoxModel value;
public ventana() {
initComponents();
setBounds(0,0,360,200); //porque deje el diseño null layout
setLocationRelativeTo(null); // centrar la ventana en la pantalla
value =new DefaultComboBoxModel();
jComboBox1.setModel(value);
value.addElement(new persona("Seleccione"," "));
value.addElement(new persona("esteban","22222"));
value.addElement(new persona("jorge","1233-3"));
value.addElement(new persona("esteban","22222"));
value.addElement(new persona("daniel","2222"));
}
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {
persona cliente = (persona) jComboBox1.getSelectedItem() ;
String id = cliente.getID() ;
jLabel3.setText(id);
}
// main de jFrom pero se puede eliminar porque desde otro main
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ventana().setVisible(true);
}
});
}
Suscribirse a:
Entradas (Atom)