2012-05-08 2 views
4

주로 화면에 JList이 표시되는 응용 프로그램이 있습니다. AbstractListModel (항목을 목록에 추가 또는 제거)으로 변경하고 변경된 내용을 앱에 알리고 frame_title[unsaved]과 같은 내용으로 수정하려고합니다. 앱을 저장하면 [unsaved] 태그가 사라집니다.java save changes

어쩌면 관찰자/관찰 가능한 기술을 사용하면 작업을 수행 할 수 있다고 생각하지만 어떻게해야할지 모르겠다. 어쩌면 내 문제에 훨씬 더 적절한 것이있을 것입니다. 나는 자바에 새로운 자바에 익숙하다. 그래서 나는 도움을 청하기 위해 여기에왔다. 감사.

업데이트 : 이미 AbstractListModel 클래스를 확장 중이므로 실제로는 Observer 패턴을 사용할 수 없습니다.

+0

왜 당신이 당신의'AbstractListModel' 확장 관찰자 할 수 없을 것? 각각의'ListModel'에는 리스너를 추가하는 메커니즘이 있습니다. 그렇지 않으면'JList'가 작동하지 않습니다. 그래서 여러분은'ListModel'을 완벽하게 관찰 할 수 있습니다. – Robin

답변

1

사용이 :

AbstractListModel model = ...; 
model.addListDataListener(new ListDataListener() { 
    public void intervalAdded(ListDataEvent e) { 

    } 

    public void intervalRemoved(ListDataEvent e) { 

    } 

    public void contentsChanged(ListDataEvent e) { 

    } 
});