나는 DefaultListModel을 사용하는 JList를 가지고있다.자바 - 개체를 변경 한 후 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] 대신 [MouseListener]를 사용하는 이유는 무엇입니까? (http://docs.oracle.com/javase/tutorial/uiswing/events/listselectionlistener.html)? – trashgod