0

我有一个扩展 JPanel 的类,它包含一个用于绘制自身的 draw(Graphics page) 方法。如果我正在构建一个测试驱动程序并想在框架上显示它我应该使用什么。我在paint( )、paintComponent()、getGraphics() 等。

班上

class Car extends JPanel {

     void draw (Graphics page) {
         ....draw polygons...
     }

*编辑*

目标是让汽车在屏幕上移动,我将绘制方法更改为“paintComponent()”,它就出现了!但它需要移动它并用计时器重新绘制它。所以我想一遍又一遍地画它是它是draw()而不是paintComponent()的原因。?

4

1 回答 1

2
  • paint()

    AWT 容器(使用 Swing)和 Swing 顶级容器,例如JFrame& JApplet(不要在顶级容器中绘制 - 添加JPanelJComponent)。所以基本上,不要在这个时代改变方法。

  • paintComponent()

    绝大多数 Swing 组件。

  • getGraphics()

    BufferedImage(可能显示在 a 中JLabel)。这将提供一个Graphics实例,但我更喜欢使用createGraphics()一个Graphics2D实例(渲染提示很棒)。
于 2013-04-23T02:58:19.117 回答