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