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方法画的图要么不显示,要么显示不全,该怎么改呢? 展开
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方法画的图要么不显示,要么显示不全,该怎么改呢? 展开
1个回答
展开全部
应该是画出来了
但是这种图一旦窗口被其他窗口覆盖,或者有拖动等
所画的图就会有缺失或全没了
但是这种图一旦窗口被其他窗口覆盖,或者有拖动等
所画的图就会有缺失或全没了
追问
不会啊,,如果那个paint方法里没有我加的参数,,画一个固定的死图就没有问题
追答
paint方法默认由虚拟机调用,而且参数只有Graphics,这个参数是虚拟机调用paint方法时传的,
如果用来画图的话,一般都是用JPanel,然后重写paintComponent方法来绘制图形,而这个方法的参数也只有一个Graphics。
如果需要传递参数可以在构造方法或在paintComponent方法中获取。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询