我正在用 Java 制作游戏,以此来教我更多关于 Java 和一般游戏编程的知识。但是,我有一个问题。我的 JFrame 上的标题栏占据了 29 个 Y 像素的空间。因此,我的客厅比我计划的要少。有没有办法让 JFrame Canvas 的角是点 (0,0) 而不是 (0, 29)?谢谢
问问题
1692 次
1 回答
7
答案很简单:不要在 JFrame 中绘制paint(...)
方法中绘制,而是在 JPanel 的paintComponent(...)
方法中绘制,然后将 JPanel 设为 JFrame 的 contentPane。这个解决方案在Swing 教程绘画部分中有很好的描述,这样做有几个原因,包括:
- 您不会冒险绘制不应绘制的内容,包括边框和标题栏。
- 您将获得 Swing 的默认双缓冲的优势,如果您执行任何动画,它可以带来巨大的改进。
于 2012-10-10T04:13:03.867 回答