我正在用 Java 制作游戏,以此来教我更多关于 Java 和游戏编程的知识。但是,我有一个问题。我的 JFrame 上的标题栏占据了 29 个 Y 像素的空间。因此,我的客厅比我计划的要少。有没有办法使 JFrame Canvas 的角是点 (0,0) 而不是 (0, 29)?谢谢
最佳答案
答案很简单:不要在 JFrame 的 paint(...)
方法中绘制,而是在 JPanel 的 paintComponent(...)
方法中绘制,并且然后使 JPanel 成为 JFrame 的 contentPane。 Swing Tutorials painting section 中详细描述了此解决方案,这样做的原因有很多,包括:
- 您不要冒险绘制不应绘制的内容,包括边框和标题栏。
- 您可以利用 Swing 的默认双缓冲,如果您制作任何动画,这可以带来巨大的改进。
关于java - 使 JFrame 标题栏不计入像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12811794/