Java MVC模型通知事件查看

时间:2015-04-20 20:38:14

标签: java model-view-controller gtk agents-jade

我试图在模型更改时将事件通知给我的视图。 我的模型已经扩展了另一个类(来自JADE平台的代理),所以我不能使用Observale。我不想做真正的MVC,只是想从我的模型中触发事件并改变我的观点。在我的案例中只有一个视图,模型,控制器。

模型

public class AgentSeeker extends Agent {
    private List<Music> musicsPurchased = new ArrayList<Music>();
    private List<ScoredMusic> musicsToBuy = new ArrayList<ScoredMusic>();

    public void buyMusic(ScoredMusic sm) {
        Music music = sm.getMusic();
        musicsPurchased.add(music);
        musicsToBuy.remove(sm);
    }
}

查看

public class AgentSeekerView extends AbstractAgentView {
    TextView textViewMusicPurchased;

    public AgentSeekerView() {
        super("AgentSeeker.glade");
    }

    protected void initComposant() {
        super.initComposant();
        textViewMusicPurchased = (TextView) builder.getObject("music_purchased");
    }

    public void addMusicPurchasedToConsole(String music) {
        TextBuffer textBuffer = textViewMusicPurchased.getBuffer();
        textBuffer.insert(textBuffer.getIterEnd(), music + '\n');
    }

}

我的控制器

public class SeekerController {
    private final AgentSeeker model;
    private final AgentSeekerView view;

    public SeekerController(AgentSeeker model, AgentSeekerView view) {
        this.model = model;
        this.view = view;
    }
}

当我将音乐添加到我的音乐购买列表中时,我想从视图中将此音乐添加到我的TextBuffer中。

0 个答案:

没有答案