para obtener leer item datos codigo java swing jlist

java - obtener - Actualizar JList en un JFrame



leer jlist (3)

Tengo un JList que muestra información de un vector. El usuario puede agregar y eliminar información de este vector. ¿Es posible actualizar el JList dentro de mi JFrame cuando se agregan / eliminan elementos del Vector? Actualmente estoy haciendo ..

list = new JList(names); jframe.add(new JScrollPane(list), BorderLayout.CENTER);

pero esto no actualiza el JList a nada nuevo. He revisado y mis contenidos vectoriales, etc. cambian, pero la lista no se actualiza. ¿Por qué? ¿Cómo puedo arreglarlo?


Creo que encontré la solución para el gráfico ''actualización'' de Jlist. Intente llamar a este método después de cada elemento de agregar o quitar del modelo que se encuentra en la lista J.

Jlist_name.ensureIndexIsVisible (model_name.getSize ());


Llame a updateUI en la lista J después de modificar su Vector.


No deberías estar actualizando el Vector. Los cambios deben hacerse directamente a ListModel, luego la tabla se volverá a pintar automáticamente.

Si decide recrear el ListModel debido a los cambios en el Vector, entonces actualiza la lista haciendo lo siguiente:

list.setModel( theNewModel );

Editar: olvide el vector y cargue los datos directamente en DefaultListModel:

DefaultListModel model = new DefaultListModel(); model.addElement( "one" ); model.addElement( "two" ); JList list = new JList( model );

Ahora, cuando necesite cambiar los datos, actualice el modelo directamente con los métodos addElement (), removeElement () o set (). La lista será automáticamente repintada.