Foros del Web » Programación para mayores de 30 ;) » Java »

Llenar JList con Texto y Valor

Estas en el tema de Llenar JList con Texto y Valor en el foro de Java en Foros del Web. Hola, he estado buscando por varias fuentes y no he encontrado una forma de llenar un JList con texto y valor así como se realiza ...
  #1 (permalink)  
Antiguo 05/12/2012, 10:28
 
Fecha de Ingreso: abril-2010
Mensajes: 4
Antigüedad: 14 años
Puntos: 0
Llenar JList con Texto y Valor

Hola, he estado buscando por varias fuentes y no he encontrado una forma de llenar un JList con texto y valor así como se realiza en C# u otros lenguajes.
Necesito por ejemplo que se muestre el nombre pero al seleccionar se obtenga el codigo, en si el problema no radica en seleccionar el texto o el valor sino en como llenar JList con el nombre y su código asociado.
Si alguien me podría colaborar con algún código ejemplo se lo agradecería mucho.
  #2 (permalink)  
Antiguo 06/12/2012, 09:37
Avatar de hschimpf  
Fecha de Ingreso: junio-2009
Ubicación: in the World Wide Web
Mensajes: 140
Antigüedad: 14 años, 10 meses
Puntos: 17
Respuesta: Llenar JList con Texto y Valor

Llena el JList con una clase personalizada, en la cual tengas un atributo para el codigo o otro para el nombre, e implementa el metodo toString() retornando el nombre.

Suerte!
__________________
Hermann D. Schimpf
Visita mis repositorios de:
Clases Java: http://code.google.com/p/javaclassesrepository/
Clases PHP: http://code.google.com/p/phpclassesrepository/
  #3 (permalink)  
Antiguo 07/12/2012, 16:59
 
Fecha de Ingreso: abril-2010
Mensajes: 4
Antigüedad: 14 años
Puntos: 0
Mensaje Respuesta: Llenar JList con Texto y Valor

Gracias hschimpf, lastima que no se pueda hacer ya que se ahorraria un buen tiempo y debido a este no logre realizar de la forma que me decias.
Por lo tanto lo hice de la siguiente manera:

Paso todo el ResultSet a un Array y lleno el JList:
Código:
 ArrayList<Empleados> lista = new ArrayList();
DefaultListModel modelo = new DefaultListModel();
EmpleadosBL empleadoBL = new EmpleadosBL();
lista = empleadoBL.Listar(empleado);
int i = 0;
for(Empleados x:lista){
    modelo.addElement(x.getNombre());
    i++;
}
lstEmpleados.setModel(modelo);
Luego en un campo invisible le llevo el value del item seleccionado:
Código:
private void lstEmpleadosValueChanged(javax.swing.event.ListSelectionEvent evt) {                                          
        txtEmpleado.setText(lstEmpleados.getSelectedValue().toString());
        obtenerID(lstEmpleados.getSelectedValue().toString());
    }

//funcion busca el texto del item y lleva al campo invisible el value del item.
private void obtenerID(String empleado)
    {
        int i=0;
        for(Empleados x:lista){
            if (x.getNombre() == empleado)
                txtEmpleadoID.setText(x.getEmpleadoID());
            i++;
        }
    }
Espero les pueda servir

Etiquetas: jlist
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:15.