栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

当我将程序设置为全屏时,为什么JPanel无法正确呈现?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

当我将程序设置为全屏时,为什么JPanel无法正确呈现?

问题是您正在创建多个不同的实例,

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中的并发。

从事物的外观来看,我认为您需要回到基础知识,并研究对象引用的工作原理…



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/401994.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号