我正在制作一款将实施三款游戏的游戏。我从一个类开始编写代码,现在我想将其转换为MVC格式,但出现错误。我从编写GameView类中的所有代码开始,现在我想将一些代码从此类移至SView类。问题是我已经在GameView类中初始化了JFrame,当我将代码移到SView类时它找不到变量框架。因此,我被告知将其放入面板中然后将其移动,但这只是弄乱了我的游戏。
最佳答案
您必须以不同的方式组织事情。要考虑的一些事情:GameView
是您的主窗口吗?设为GameView extends JFrame
。SView
是面板吗?设为SView extends Panel
。
要考虑的另一件事:SView
是要添加到GameView
的某些面板,但是SView
添加自身不是责任。相反,只需在这两个类之外的某个地方实例化并组装这些组件,例如:
GameView gameView = new GameView();
gameView.add(new SView());
您也可以
GameView
在其构造函数代码中添加new SView()
。无论如何,这里的要点是,组件不应该将自己添加到其父项中,而只需要创建自己的内容/子项。
祝好运。