2012-05-08 108 views
4

我有一個應用程序,主要由屏幕上顯示的JList組成。我希望每次修改AbstractListModel(向列表添加或刪除項目)時,都會以某種方式通知應用程序已做出更改,並將JFrame的標題修改爲frame_title[unsaved]之類的內容。在我保存應用程序後,[unsaved]標籤將會消失。java保存更改

我想也許使用observer/observable技術可以完成這項工作,但我不知道該怎麼做。也許有更適合我的問題的東西?我是新來的Java新的Java,所以這就是爲什麼我來這裏尋求幫助。謝謝。

更新:我不能真正在我的情況下使用觀察者模式,因爲我已經擴展AbstractListModel類。

+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) { 

    } 
});