我有一个使用 DefaultListModel 的 JList。
然后我将值添加到模型中,然后出现在 JList 中。我创建了一个 MouseListener,它(双击时)允许用户编辑他们选择的那个人的当前用户编号。
我已经检查过该记录的实际对象是否正在更改,并且确实如此。我遇到的唯一问题是更新实际的 Jlist 以显示该对象的新值。
我拥有的当前代码的片段是:
创建 JList 和 DefaultTableModel:
m = new DefaultListModel();
m.addListDataListener(this);
jl = new JList(m);
jl.addMouseListener(this);
更新对象:
String sEditedNumber = JOptionPane.showInputDialog(this, "Edit number for " + name, number);
if (sEditedNumber != null) {
directory.update (name, sEditedNumber);
}
并且(当 jl 是 JList 并且 m 是 DefaultTableModel 时):
public void contentsChanged(ListDataEvent arg0) {
jl.setModel(m);
}