Java 中awt.Canvas画布中重写paint(方法),paint()方法中的代码不能执行。求解?

5208℃ LULA

Java 中awt.Canvas画布中重写paint(方法),paint()方法中的代码不能执行。求解?

在java中,为什么我重写paint方法,怎么绘图都显示不出来,求解啊!!

Graphics 引用不正确,应该是java.awt.Graphics

paint中,只有

g.drawLine(22, 33, 22,77);

g.drawLine(22, 11, 22, 55);

颜色又没改变了,使用默认色。。。。。。。就算画出来了,也看不见了。。。。。

java的JDialog重写paint方法无效

重写 paintComponent 方法就简单多了。

在JAVA中继承canvas必须重写的方法?

paintpublic void paint(Graphics g)

绘制此 canvas。 为 Canvas 创建子类的大多数应用程序应该重写此方法,以便执行某个有用的操作(通常是 canvas 的自定义绘制操作)。默认操作是清理 canvas。重写此方法的应用程序不需要调用 super.paint(g)。

 

JFrame中没有paint()这个方法,为什么可以重写这个方法呢?重写之后没有显示调用为何还执行了呢?执行之后的窗口为什么是透明的呢?

JFrame继承自java.awt.Containter

paint方法就是在这个类中定义的,所以在JFrame类中你看不到这个方法,这个方法在父类构造中有调用,所以在子类调用子类构造方法的时候也会调用