Foro de elhacker.net

Programación => Java => Mensaje iniciado por: marc85 en 21 Noviembre 2014, 16:20 pm



Título: Agregar caracter a cada elemento de un jlist
Publicado por: marc85 en 21 Noviembre 2014, 16:20 pm
Hola, tengo una gran duda, tengo un jlist con varios elementos, la cantidad de elementos puede variar, yo lo que deseo es que al imprimir los valores del jlist cada valor se muestre con una coma (,) exepto el último valor de la lista, hasta el momento solo logro que me imprima todos los valores con las comas correspondientes, este es el código que uso:

//Agregando los campos del select
            String [] seleccion = new String [27];
            for (int i = 0; i<modelo.size(); i++)
            {
                if (i<modelo.size())
                {
                    seleccion=(String) modelo.getElementAt(i)+",";
                    
                }
                else
                {
                    seleccion=(String) modelo.getElementAt(i);
                }
            }
            JOptionPane.showMessageDialog(null, seleccion);


Título: Re: Agregar caracter a cada elemento de un jlist
Publicado por: MNicolas en 22 Noviembre 2014, 15:42 pm
El size te devuelve el total de campos de la lista. Si tiene 50 te devuelve 50.

Hasta ahí bien. Pero piensa que se numeran de 0 a 49 eso lo tienes que tener en cuenta.

Si tú pones que imprima coma si es menor al tamaño (el if) siempre va a imprimir coma porque te devuelve el size 50 y siempre va a ser menor que 50 porque es de 0 a 49. No sé si lo habrás entendido. Te dejo el código que debe funcionar.

//Agregando los campos del select
            String [] seleccion = new String [27];
            for (int i = 0; i<modelo.size(); i++)
            {
                if (i<modelo.size()-1)// añadi un -1
                {
                    seleccion=(String) modelo.getElementAt(i)+",";
                   
                }
                else
                {
                    seleccion=(String) modelo.getElementAt(i);
                }
            }
            JOptionPane.showMessageDialog(null, seleccion);