首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JFrame比它的窗口大

JFrame比它的窗口大
EN

Stack Overflow用户
提问于 2020-01-03 20:57:38
回答 1查看 123关注 0票数 1

我已经使用Java很长一段时间了,我一直没有找到解决这个问题的方法。当我创建一个JFrame时,它周围的窗口实际上比框架小。在包含的图片中,我的JFrame大小是800x600。两条白线在相框的中央交叉,400,300。如你所见,它们不在窗户的中央。如果我向右和向下伸展窗户,我可以看到一些黑色背景的框架是隐藏的。当黑色背景被揭示时,你可以看到这些线确实在中心交叉(第二张图片)。

它为什么会那样工作?我能做些什么来解决这个问题?我正在制作一个游戏,游戏中的角色在屏幕的中央,所以这给我带来了很多问题。第一张图片更大,因为我把代码留在了后台。正如我们所看到的,这是一个标准的JFrame创建。

不居中,因为帧的一部分是隐藏的:

当框架完全显露时居中:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-04 21:50:10

我的JFrame尺寸是800x600

你在倒行逆施。

这个框架有装饰.标题栏和边框)。您所画的面板被添加到框架中,因此它将小于框架的大小。

正确的方法是重写getPreferredSize()方法的JPanel,在那里您可以进行定制绘图以返回所需的面板大小。

然后将面板添加到框架中,调用框架上的pack()方法。现在,框架将尺寸稍大(以适应完整的面板和框架装饰),你的绘画将是准确的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59585251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档