Tengo una JList que usa un DefaultListModel.Java - Actualización de JList después de cambiar un objeto
Luego agrego valores al modelo que luego aparecen en la Lista J. He creado un MouseListener que (cuando se hace doble clic) permite al usuario editar el número de usuario actual de esa persona que ha seleccionado.
He comprobado que el objeto real de ese registro está siendo cambiado, y lo es. El único problema que tengo es conseguir que la lista J actual se actualice para mostrar los nuevos valores de ese objeto.
Fragmentos del código actual que tengo son:
Creación de la JList y DefaultTableModel:
m = new DefaultListModel();
m.addListDataListener(this);
jl = new JList(m);
jl.addMouseListener(this);
Actualización del objeto:
String sEditedNumber = JOptionPane.showInputDialog(this, "Edit number for " + name, number);
if (sEditedNumber != null) {
directory.update (name, sEditedNumber);
}
Y (cuando jl es el JList y m es el DefaultTableModel):
public void contentsChanged(ListDataEvent arg0) {
jl.setModel(m);
}
¿Por qué está utilizando 'MouseListener' en lugar de [' ListSelectionListener'] (http://docs.oracle.com/javase/tutorial/uiswing/events/listselectionlistener.html)? – trashgod