私はDefaultListModelを使用するJListを持っています。Java - オブジェクトを変更した後に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);
}
[ListSelectionListener'](http://docs.oracle.com/javase/tutorial/uiswing/events/listselectionlistener.html)の代わりに 'MouseListener'を使用しているのはなぜですか? – trashgod