java Graphics2D画图问题

publicclasssmp91extendsFrame{privateintlength1,length2,length3,length4,length5;public... public class smp91 extends Frame{
private int length1,length2,length3,length4,length5;
public static void main(String[] args) {
smp91 s=new smp91();
s.paint(0, 0, 0, 0, 0);
}
smp91(){
setSize(300,300);
setBackground(Color.cyan);
setVisible(true);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public void paint(int a,int b,int c,int d,int e){
Graphics g=getGraphics();
Graphics2D g2d=(Graphics2D)g;
Stroke stroke=new BasicStroke(2.0f);//设置线宽为3.0
g2d.setStroke(stroke);
g2d.setColor(new Color(255,0,0));
g2d.drawArc(100 , 100, 100, 100, 0, 360);
g2d.setColor(new Color(36,56,242));
g2d.drawArc(110, 110, 80, 80, 0, 360);
g2d.setColor(Color.DARK_GRAY);
g2d.drawLine(150, 150, 150, 100);
................................................
这里有paint方法的后半部分,字数有限,我截了图

}
}
我想通过传入参数来画图,可是改变了paint方法画的图要么不显示,要么显示不全,该怎么改呢?
展开
 我来答
topsonic2006
2013-08-09 · 超过70用户采纳过TA的回答
知道小有建树答主
回答量:186
采纳率:0%
帮助的人:113万
展开全部
应该是画出来了
但是这种图一旦窗口被其他窗口覆盖,或者有拖动等
所画的图就会有缺失或全没了
追问
不会啊,,如果那个paint方法里没有我加的参数,,画一个固定的死图就没有问题
追答
paint方法默认由虚拟机调用,而且参数只有Graphics,这个参数是虚拟机调用paint方法时传的,
如果用来画图的话,一般都是用JPanel,然后重写paintComponent方法来绘制图形,而这个方法的参数也只有一个Graphics。
如果需要传递参数可以在构造方法或在paintComponent方法中获取。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式