java的初学者提问

来源:百度知道 编辑:UC知道 时间:2024/05/13 06:45:28
继承并重载了JPanel的paint方法,怎么在另一个Applet程序中调用
import java.awt.*;
import javax.swing.*;
class MyCanvas extends JPanel{
int shape;
public MyCanvas(){shape=3;}
public void setShape(int shape){this.shape=shape;}
public void paint(Graphics g){
super.paint(g);
Point p1=new Point(20,20);
Point p2=new Point(10,30);
Point p3=new Point(30,30);
int[] xpoint={p1.x,p2.x,p3.x};
int[] ypoint={p1.y,p2.y,p3.y};
if(shape==1){g.drawPolygon(xpoint,ypoint,3);}
else if(shape==2){g.drawRect(20,20,10,30);}
else if(shape==3){g.drawOval(30,20,10,10);}
}
}
public class E0901 extends JApplet{
MyCanvas mc=new MyCanvas();
public void init(){
String nStr=JOptionPane.showInputDialog("input an integer");
int n=Integer.parseInt(nStr);
mc.setShape(n);
}
mc.paint(Graphics g);
}

调用???

不用调用。。当你重载一个paint方法后,将这个JPanel 添加进去
你画的东西就显示出来了。。

你可以调用repaint方法 进行刷新,重新调用一次的paint方法