1

我正在用 Java 制作游戏,以此来教我更多关于 Java 和一般游戏编程的知识。但是,我有一个问题。我的 JFrame 上的标题栏占据了 29 个 Y 像素的空间。因此,我的客厅比我计划的要少。有没有办法让 JFrame Canvas 的角是点 (0,0) 而不是 (0, 29)?谢谢

4

1 回答 1

7

答案很简单:不要在 JFrame 中绘制paint(...)方法中绘制,而是在 JPanel 的paintComponent(...)方法中绘制,然后将 JPanel 设为 JFrame 的 contentPane。这个解决方案在Swing 教程绘画部分中有很好的描述,这样做有几个原因,包括:

  • 您不会冒险绘制不应绘制的内容,包括边框和标题栏。
  • 您将获得 Swing 的默认双缓冲的优势,如果您执行任何动画,它可以带来巨大的改进。
于 2012-10-10T04:13:03.867 回答