【问题标题】:java save changesjava保存更改
【发布时间】:2012-05-16 18:00:18
【问题描述】:

我有一个应用程序,主要是在屏幕上显示JList。我希望每次更改AbstractListModel(向列表中添加或删除项目)时,以某种方式通知应用程序已进行更改并将JFrame 的标题修改为frame_title[unsaved] 之类的名称。在我保存应用程序后,[unsaved] 标签会消失。

我认为也许使用观察者/可观察技术可以完成这项工作,但我不知道该怎么做。也许有更适合我的问题的东西?我是 java 新手,所以这就是我来这里寻求帮助的原因。谢谢。

更新:在我的情况下,我不能真正使用观察者模式,因为我已经在扩展 AbstractListModel 类。

【问题讨论】:

  • 为什么你不能观察你的AbstractListModel 分机?每个ListModel 都有一个机制来添加监听器,否则JList 将不起作用。所以你完全有能力观察任何ListModel

标签: java swing observer-pattern jlist savechanges


【解决方案1】:

使用这个:

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

    }

    public void intervalRemoved(ListDataEvent e) {

    }

    public void contentsChanged(ListDataEvent e) {

    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    相关资源
    最近更新 更多