0

所以基本上我正在使用 MVC 在 java 中制作一个 yahtzee 游戏,我需要显示每个类别的分数,这是我通过按钮旁边的视图中的标签完成的。这段代码在我的 View 类中,它放在那里

onesValueLabel = new Label(""+myController.getOnesValue());
        onesValueLabel.setBounds(620,80,30,20);
        this.add(onesValueLabel);

我预见的问题是,一旦按下视图,即使 myController.getOnesValue() 已更改, oneValueLabel 也不会在屏幕上更新。

如何显示 myController.getOnesValue()) 的当前值,以便它可以在视图上更改?

4

1 回答 1

0

你可以实现某种观察模式,通过视图可以“观察”模型中的变化并更新它的状态。

这通常被称为“听众”。

基本上,您提供一个接口来描述模型可能引发的一个或多个事件(如果需要,您可以有多个侦听器)。

任何相关方都将实现该接口并传递对模型的引用或“注册”模型。

当某个事件发生时,模型会触发这个事件,通知所有注册的监听器发生了什么事。

如何以及如何由您决定。

于 2013-10-31T00:36:59.317 回答