发布网友 发布时间:2022-05-26 11:11
共2个回答
热心网友 时间:2023-10-14 15:17
错误在这里:
public Dimension getPreferredSize(){
return new Dimension(200,200);//覆盖此方法设置画布大小,不然无法正确显示
}
位置放错了!
将这个方法放到MyCanvas 类里面,就解决了!
代码如下:
import java.applet.*;
import java.awt.*;
public class CancasExample extends Applet{
public void init(){
MyCanvas canvas=new MyCanvas();//创建画布
this.add(canvas);//在Applet容器中显示画布
}
public class MyCanvas extends Canvas{//扩展Canvas
public void paint( Graphics g){
Dimension size=this.getSize();
g.drawRect(0,0,size.width,size.height);//绘制画布的外围矩形区域
g.setColor(Color.blue);//用蓝色绘制字符串
g.drawString("This is Canvas",120,20);
g.setColor(Color.red);//用红色填充填充矩形
g.fillRect(10,30,60,60);
g.setColor(Color.green);//用绿色绘制线条
g.drawLine(120,150,20,90);
}
public Dimension getPreferredSize(){
return new Dimension(200,200);//覆盖此方法设置画布大小,不然无法正确显示
}
}
}
再编写一个网页:
<html>
<body>
<applet code="CancasExample.class" height="400" width="600"></applet>
</body>
</html>
运行结果:
热心网友 时间:2023-10-14 15:17
1:Canvas类必须继承并且重写paint()方法,这里有。。