MVC模式:有些困难

时间:2014-12-25 16:08:36

标签: java swing design-patterns model-view-controller controller

在项目的上下文中,我必须使用MVC模式将卡片游戏实现到java中。目前游戏在控制台上运行良好,但我必须添加图形用户界面。我很清楚工作控制器和模型是怎样的,但我对这个观点有些困难。

你知道,我有很多模特课,比如" Player" "卡"等等。从Observable扩展。 因此,我想我应该有很多观点。但我的应用程序将在JFrame对象中进行,该对象将位于视图类中。

我的问题是:所有不同的视图类如何能够访问另一个视图类中包含的JFrame对象(例如,添加按钮等...)? (JFrame会出现在像GameObserver这样的类中)

1 个答案:

答案 0 :(得分:-1)

独立于MVC,如果你只有一个主JFrame并且你从未创建另一个JFrame,那么使它成为Singleton并静态访问它可能是一个很好的解决方案,例如SingletonFrame.getInstance()

有很多种方法可以创建一个Singleton模式,这里有一个:

public class SingletonFrame extends JFrame {

    private SingletonFrame() {
        //your initialization code
    }

    private static class SingletonHolder { 
        public static final SingletonFrame instance = new SingletonFrame();
    }

    public static SingletonFrame getInstance() {
        return SingletonHolder.instance;
    }

}