
Screen但您完全不知道屏幕上实际可见哪个实例。
Kingdomcraft#main,创建实例
Screen和调用
screen.run(),它创建的实例
Kindomcraft,
MainMenu以及
Screen......别急,我们
Screen,为什么我们需要另一个实例?然后,您继续向的
this实例添加内容
Screen,而将实例保留为
screen空白…
真正奇怪的是,您要将的实例传递
screen给
ifFullscreen(这是空白版本),然后将其尝试使其全屏显示…上面没有任何内容…但
ifNotFullscreen实际上使用了
this???
甚至更奇怪…当您
MainMenu#run从调用时
Screen#run,您创建的新实例
Kingdomcraft,
MainMenu然后
Screen…再次…
当
fullscreen按钮被付诸行动,你传递给它的引用
screen您创建的
MainMenu,这是不是有它的内容,哪些应该在屏幕上显示一个…
基本上,您似乎不了解做什么
new以及对象实例之间的区别。一个新实例与同一对象的任何其他实例都没有关系…
你应该做的是路过的参考
Kingdomcraft来
Screen,然后传递的参考
Screen来
MainMenu。这些类都不应该创建自己的实例或实例
Kingdomcraft或
Screen
链中的每个链接都应该能够提供对前一个链接的访问,因此
MainMenu应该能够请求对它
Screen的引用
Kingdomcraft。
另外,Swing也不是线程安全的。除了事件调度线程以外,您永远不应与任何线程中的任何组件进行交互。
有关更多详细信息,请参见Swing中的并发。
从事物的外观来看,我认为您需要回到基础知识,并研究对象引用的工作原理…
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)