Java - Ayuda con JList

 
Vista:

Ayuda con JList

Publicado por javi (1 intervención) el 15/12/2006 18:40:30
Hola, alguien puede decirme como puedo leer todos los elementos que tiene un JList y meterlos en un array?
Me estoy volviendo loco.
Si alguien lo sabe por favor que ponga un codigo de ejemplo:
Los elementos que hay dentro de mi JList son strings.
Muchisimas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con JList

Publicado por JC (3 intervenciones) el 15/12/2006 20:14:20
Antes d q empieze apensar en una solución como q necesito saber más cosas. dime como llenas el JList inicialment y cual es el sentido d meter los elementos q lo componen en un arreglo no seria mejor en un Vector
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Ayuda con JList

Publicado por chuidiang (950 intervenciones) el 15/12/2006 20:27:35
Hola

con jlist.getModel() obtienes un ListModel. Este tiene todos los métodos necesarios para saber cuántos elementos hay en la lista y obtenerlos. Es sólo cuestion de crear el arrray (o vector o lo que sea) del mismo tamaño que el número de elementos y con un bucle ir metiendolos.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con JList

Publicado por jc (3 intervenciones) el 15/12/2006 20:40:05
Bueno Javi me puse a le el api y en el JList no hay un metodo q t devuelva el número total d elemntos, pero si construyes tu JList son un ListModel asi si podrias saber el total d elementos y poder hacer un for para llenar tu "arreglo" d todas manera y por si t sirve d algo hize esto
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;

public class Listas extends JFrame implements ActionListener
{
JLabel lblEtiqueta1;
JButton cmdAceptar, cmdImprimir;
JList lstLista;
Vector articulos;
String[] art = {"Libros","Libretas","Cajas","Borradores","Lapíz","Sacapuntas"};
Container contenedor = getContentPane();
public Listas()
{
articulos = new Vector();
setTitle("Guarda Lista");
setSize(200,250);
setLocation(300,400);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
crearGUI();
setVisible(true);
}

public void crearGUI()
{
lblEtiqueta1 = new JLabel("Lista");
lstLista = new JList(art);
cmdAceptar = new JButton("Aceptar");
cmdImprimir = new JButton("Imprimir");

contenedor.setLayout(new FlowLayout());
contenedor.add(lblEtiqueta1);
contenedor.add(lstLista);
contenedor.add(cmdAceptar);
contenedor.add(cmdImprimir);
cmdAceptar.addActionListener(this);
cmdImprimir.addActionListener(this);
}

public void llenarVector(String valor)
{
articulos.add(valor);
}

public void imprimir()
{
for(int i = 0; i<articulos.size(); i++)
System.out.println(articulos.get(i).toString());
}

public void actionPerformed(ActionEvent e)
{
if(e.getSource() == cmdAceptar)
{
llenarVector(""+lstLista.getSelectedValue());
System.out.println(""+lstLista.getSelectedValue());
}
else if(e.getSource() == cmdImprimir)
imprimir();
}
public static void main(String JC[])
{
new Listas();
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con JList

Publicado por Javi (4 intervenciones) el 16/12/2006 00:47:30
JC gracias por todo el codigo que me has proporcionado pero exactamente no es eso lo que quiero, porque tu añades al vector a partir del componente del JList seleccionado, y yo lo que quiero es llenarlo de todos los componentes del JList (esten o no seleccionados). Pero gracias de todas formas.
La respuesta de chuidiang es justo lo que necesito, aun no lo he probado pero creo que va bien encaminada a lo que busco. En cuanto pruebe a implementarlo ya os comento y os pondre el codigo para que lo veais.

Gracias Chuidiang y JC.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con JList

Publicado por Javi (4 intervenciones) el 17/12/2006 12:58:50
Hola de nuevo, pues nada, que no consigo hacer lo que quiero y ya no se como hacerlo.
Este es el codigo que tengo por ahora:

String nick=mensaje;
JList lista = new JList();
lista=ContextoBingo.jugadores.participantes;
Vector h=new Vector();
h.add(lista.getModel ());
if (h.contains (nick)){
h.remove(nick);
nick=nick+" -> Listo";
h.add(nick);
}
lista.setModel (h);

Lo que pretendo es coger todos los elementos de mi JList, ir comprobando 1 a 1 si alguno de ellos es igual a nick (que seguro que uno de ellos es igual). El que sea igual (por ejemplo el nick Laura) lo borro de la lista, pongo el nick como -> Listo, (por ejemplo Laura - >Listo) y entonces lo añado a la lista y ya esta, si solo es eso pero e esta dando muchos problemas.
A ver si podeis ponerme el codigo completo porque ya estoy agotado de ir probando cosas y sin ningun resultado.
Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Ayuda con JList

Publicado por chuidiang (950 intervenciones) el 17/12/2006 21:38:03
Hola:

El ListModel que obtienes ya es una lista de cosas. No hace falta que crees un Vector ni nada parecido. Basta un bucle para ir recogiendo los elementos del ListModel y comparando

listModel = lista.getModel();
for (int i==0;i<listModel.getSize(); i++)
if (nick.equals(listModel.getElementAt(i))
{
....
}

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con JList

Publicado por javi (4 intervenciones) el 18/12/2006 09:36:04
Chuidiang muchisimas gracias, no se que haria yo en este foro sin ti, jejeje
Gracias de veras ya he podido implementar lo que pretendia.
Saludos amigo.
Javi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar