我有两节课gameWindow
and gameEngine
。主要方法是在gameWindow
class &so 是 swing GUI 代码。现在,我想访问中的 swing 组件gameEngine
。怎么做?我总是得到cannot find symbol
当我正常尝试时出错。我尝试过公开组件,但没有成功。
另外,我尝试创建一个实例gameWindow
但这也没有帮助。它编译时没有任何错误,但我遇到了一个很大的运行时错误(我什至看不到,命令提示符滚动到极限)。
RELP!!
P.S.:我认为在这里发布代码不会有帮助。
为了访问 gameEngine 中的 gameWindow 组件,您需要对其进行引用。所以我假设 GameWindow 类创建 GameEngine 的实例。然后你可以做这样的事情:
public class GameEngine{
GameWindow window;
public GameEngine(GameWindow gm){
window = gm;
}
//rest of your code
}
public class GameWindow(){
//At the point where you create the GameEngine
GameEngine ge = new GameEngine(this);
//rest of your code
}
现在 GameEngine 有了对其可以使用的 GameWindow 的引用。
话虽如此,我建议您考虑不同的设计。让 GameEngine 直接访问 GameWindow 听起来好像错误的类负责错误的事情。也许您可能会尝试使用某种观察者,以便 GameWindow 查找 GameEngine 中的更改,然后访问更新并相应地修改视图。所以GameEngine不必访问GameWindow的swing组件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)