JAVA图形示例.docx
《JAVA图形示例.docx》由会员分享,可在线阅读,更多相关《JAVA图形示例.docx(19页珍藏版)》请在冰豆网上搜索。
JAVA图形示例
第一章Java与图形
例子1
importjava.applet.*;importjava.awt.*;
publicclassExample17_1extendsApplet
{publicvoidpaint(Graphicsg)
{inty,x=120;
g.drawString("计算机科学技术",10,20);
g.drawString("ILoveThisGame",20,40);
chara[]="中国科学技术大学".toCharArray();
for(inti=0;i{y=2*x-200;g.drawChars(a,i,1,x,y);x=x+6;}}}例子2importjava.applet.*;importjava.awt.*;publicclassExample17_2extendsApplet{publicvoidpaint(Graphicsg){intgap=0;for(inti=1;i<=10;i++){g.drawLine(10,10+5*i,180,10+5*i);}for(inti=1;i<=8;i++){g.drawLine(40+3*i,70,40+3*i,150);}g.drawLine(64,70,150,156);}}例子3importjava.applet.*;importjava.awt.*;publicclassExample17_3extendsApplet{publicvoidpaint(Graphicsg){g.drawRect(24,22,60,34);g.drawRoundRect(10,10,90,60,50,30);g.setColor(Color.cyan);g.fillOval(10,80,120,60);intk=0;for(inti=1;i<=8;i++){Colorc=newColor(i*32-1,0,0);g.setColor(c);k=k+5;g.drawOval(160+k,77+k,120-2*k,80-2*k);}}}例子4importjava.applet.*;importjava.awt.*;publicclassExample17_4extendsApplet{publicvoidpaint(Graphicsg){g.drawArc(0,40,100,50,0,180);g.drawArc(100,40,100,50,180,180);g.setColor(Color.blue);g.fillArc(0,100,40,40,0,270);g.setColor(Color.green);g.drawArc(55,120,120,60,-90,270);}}例子5importjava.applet.*;importjava.awt.*;publicclassExample17_5extendsApplet{intpx1[]={40,80,0,40};intpy1[]={5,45,45,5};intpx2[]={140,180,180,140,100,100,};intpy2[]={5,25,45,65,45,25,};publicvoidpaint(Graphicsg){g.drawPolygon(px1,py1,4);//从点(40,5)画到点(80,45),再从点(80,45)画到点(0,45)。g.drawPolygon(px2,py2,6);}}例子6importjava.applet.*;importjava.awt.*;publicclassExample17_6extendsApplet{Fontf1=newFont("Helvetica",Font.PLAIN,28);Fontf2=newFont("Helvetica",Font.BOLD,15);Fontf3=newFont("Courier",Font.PLAIN,12);Fontf4=newFont("TimesRoman",Font.BOLD+Font.ITALIC,18);publicvoidpaint(Graphicsg){g.setFont(f1);g.drawString("28ptplainHelvetica",5,20);g.setFont(f2);g.drawString("15ptboldHelvetica",5,43);g.setFont(f3);g.drawString("12ptplaincourier",5,75);g.setFont(f4);g.drawString("18ptbold&italicTimesRoman",5,92);}}例子7importjava.applet.*;importjava.awt.*;publicclassExample17_7extendsApplet{publicvoidinit(){setBackground(Color.yellow);}publicvoidpaint(Graphicsg){g.setColor(Color.red);g.fillOval(10,10,100,100);g.clearRect(40,40,40,40);}}例子8importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassExample17_8extendsApplet{inti=0;publicvoidpaint(Graphicsg){i=(i+2)%360;Colorc=newColor((3*i)%255,(7*i)%255,(11*i)%255);g.setColor(c);g.fillArc(30,50,120,100,i,2);g.fillArc(30,152,120,100,i,2);try{//程序暂停300毫秒,再执行repaint()(见19章):Thread.sleep(300);}catch(InterruptedExceptione){}repaint();}publicvoidupdate(Graphicsg){g.clearRect(30,152,120,100);paint(g);}}例子9importjava.awt.*;importjava.applet.*;importjava.awt.geom.*;publicclassExample17_9extendsApplet{publicvoidpaint(Graphicsg){g.setColor(Color.red);Graphics2Dg_2d=(Graphics2D)g;Line2Dline=newLine2D.Double(2,2,300,300);g_2d.draw(line);for(inti=1,k=1;i<=10;i++){line.setLine(10,10+k,80,10+k);g_2d.draw(line);k=k+3;}}}例子10importjava.awt.*;importjava.applet.*;importjava.awt.geom.*;publicclassExample17_10extendsApplet{publicvoidpaint(Graphicsg){g.setColor(Color.blue);Graphics2Dg_2d=(Graphics2D)g;Rectangle2Drect=newRectangle2D.Double(20,30,30,30);g_2d.draw(rect);for(inti=1;i<=5;i++){rect.setRect(12,12+i,50,80);g_2d.draw(rect);}}}例子11importjava.awt.*;importjava.applet.*;importjava.awt.geom.*;publicclassExample17_11extendsApplet{publicvoidpaint(Graphicsg){g.setColor(Color.blue);Graphics2Dg_2d=(Graphics2D)g;Ellipse2Dellipse=newEllipse2D.Double(20,30,100,50);g_2d.draw(ellipse);for(inti=1,k=0;i<=6;i++){ellipse.setFrame(20+k,30,100-2*k,50);g_2d.draw(ellipse);k=k+5;}}}例子12importjava.awt.*;importjava.applet.*;importjava.awt.geom.*;publicclassExample17_12extendsApplet{publicvoidpaint(Graphicsg){g.setColor(Color.red);Graphics2Dg_2d=(Graphics2D)g;Arc2Darc=newArc2D.Double(2,30,80,55,180,-90,Arc2D.OPEN);g_2d.draw(arc);arc.setArc(90,30,90,70,0,180,Arc2D.CHORD);g_2d.draw(arc);arc.setArc(190,30,50,90,0,270,Arc2D.PIE);g_2d.draw(arc);}}例子13importjava.awt.*;importjava.applet.*;importjava.awt.geom.*;publicclassExample17_13extendsApplet{publicvoidpaint(Graphicsg){g.setColor(Color.red);Graphics2Dg_2d=(Graphics2D)g;QuadCurve2DquadCurve=newQuadCurve2D.Double(2,10,51,90,100,10);g_2d.draw(quadCurve);quadCurve.setCurve(2,100,51,10,100,100);g_2d.draw(quadCurve);}}例子14importjava.awt.*;importjava.applet.*;importjava.awt.geom.*;publicclassExample17_14extendsApplet{publicvoidpaint(Graphicsg){g.setColor(Color.red);Graphics2Dg_2d=(Graphics2D)g;CubicCurve2Dcurve_1=newCubicCurve2D.Double(2,30,80,55,10,10,20,90);CubicCurve2Dcurve_2=newCubicCurve2D.Double(2,30,5,67,20,30,20,90);CubicCurve2Dcurve_3=newCubicCurve2D.Double(30,35,54,67,20,90,100,190);g_2d.draw(curve_1);g_2d.draw(curve_2);g_2d.draw(curve_3);}}例子15importjava.awt.*;importjava.applet.*;importjava.awt.geom.*;publicclassExample17_15extendsApplet{publicvoidpaint(Graphicsg){Graphics2Dg_2d=(Graphics2D)g;BasicStrokebs_1=newBasicStroke(16,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);BasicStrokebs_2=newBasicStroke(16f,BasicStroke.CAP_ROUND,BasicStroke.JOIN_MITER);BasicStrokebs_3=newBasicStroke(16f,BasicStroke.CAP_SQUARE,BasicStroke.JOIN_ROUND);Line2Dline_1=newLine2D.Double(20,20,100,20);Line2Dline_2=newLine2D.Double(20,50,100,50);Line2Dline_3=newLine2D.Double(20,80,100,80);g_2d.setStroke(bs_1);//设置线条。g_2d.draw(line_1);g_2d.setStroke(bs_2);g_2d.draw(line_2);g_2d.setStroke(bs_3);g_2d.draw(line_3);}}例子16importjava.awt.*;importjava.applet.*;importjava.awt.geom.*;publicclassExample17_16extendsApplet{publicvoidpaint(Graphicsg){Graphics2Dg_2d=(Graphics2D)g;g_2d.setColor(Color.cyan);Rectangle2Drect=newRectangle2D.Double(0,0,200,200);g_2d.fill(rect);Arc2Darc1=newArc2D.Double(0,0,200,200,0,180,Arc2D.CHORD),arc2=newArc2D.Double(0,0,200,200,0,-180,Arc2D.CHORD);RoundRectangle2DroundR1=newRoundRectangle2D.Double(0,50,100,100,100,100),roundR2=newRoundRectangle2D.Double(100,50,100,100,100,100),roundR3=newRoundRectangle2D.Double(37.5,87.8,25,25,25,25),roundR4=newRoundRectangle2D.Double(137.5,87.8,25,25,25,25);g_2d.setColor(Color.white);g_2d.fill(arc1);g_2d.setColor(Color.black);g_2d.fill(arc2);g_2d.fill(roundR1);g_2d.setColor(Color.white);g_2d.fill(roundR2);g_2d.fill(roundR3);g_2d.setColor(Color.black);g_2d.fill(roundR4);}}例子17importjava.awt.*;importjava.applet.*;importjava.awt.geom.*;publicclassExample17_17extendsApplet{publicvoidpaint(Graphicsg){Graphics2Dg_2d=(Graphics2D)g;GradientPaintgradient_1=newGradientPaint(0,0,Color.red,50,50,Color.green,false);g_2d.setPaint(gradient_1);Rectangle2Drect_1=newRectangle2D.Double(0,0,50,50);g_2d.fill(rect_1);GradientPaintgradient_2=newGradientPaint(60,50,Color.white,150,50,Color.red,false);g_2d.setPaint(gradient_2);Rectangle2Drect_2=newRectangle2D.Double(60,50,90,50);g_2d.fill(rect_2);}}例子18importjava.awt.*;importjava.applet.*;importjava.awt.geom.*;publicclassExample17_18extendsApplet{publicvoidpaint(Graphicsg){Graphics2Dg_2d=(Graphics2D)g;Ellipse2Dellipse=newEllipse2D.Double(20,50,120,50);g_2d.setColor(Color.blue);AffineTransformtrans=newAffineTransform();for(inti=1;i<=24;i++){trans.rotate(15.0*Math.PI/180,80,75);g_2d.setTransform(trans);//现在画的就是旋转后的椭圆样子:g_2d.draw(ellipse);}}}例子19importjava.awt.*;importjava.awt.event.*;importjava.awt.geom.*;importjava.applet.*;publicclassFlowerextendsApplet{publicvoidpaint(Graphicsg){Graphics2Dg_2d=(Graphics2D)g;//花叶两边的曲线:QuadCurve2Dcurve_1=newQuadCurve2D.Double(200,200,150,160,200,100);CubicCurve2Dcurve_2=newCubicCurve2D.Double(200,200,260,145,190,120,200,100);//花叶中的纹线:Line2Dline=newLine2D.Double(200,200,200,110);QuadCurve2Dleaf_line1=newQuadCurve2D.Double(200,180,195,175,190,170);QuadCurve2Dleaf_line2=newQuadCurve2D.Double(200,180,210,175,220,170);QuadCurve2Dleaf_line3=newQuadCurve2D.Double(200,160,195,155,190,150);QuadCurve2Dleaf_line4=newQuadCurve2D.Double(200,160,214,155,220,150);//利用旋转来绘制花朵:AffineTransformtrans=newAffineTransform();for(inti=0;i<6;i++){trans.rotate(60*Math.PI/180,200,200);g_2d.setTransform(trans);GradientPaintgradient_1=newGradientPaint(200,200,Color.green,200,100,Color.yellow);g_2d.setPaint(gradient_1);g_2d.fill(curve_1);GradientPaintgradient_2=newGradientPaint(200,145,Color.green,260,145,Color.red,true);g_2d.setPaint(gradient_2);g_2d.fill(curve_2);Colorc3=newColor(0,200,0);g_2d.setColor(c3);g_2d.draw(line);g_2d.draw(leaf_line1);g_2d.draw(leaf_line2);g_2d.draw(leaf_line3);g_2d.draw(leaf_line4);}//花瓣中间的花蕾曲线:QuadCurve2Dcenter_curve_1=newQuadCurve2D.Double(200,200,190,185,200,180);AffineTransformtrans_1=newAffineTransform();for(inti=0;i<12;i++){trans_1.rotate(30*Math.PI/180,200,200);g_2d.setTransform(trans_1);GradientPaintgradient_3=newGradientPaint(200,200,Color.red,200,180,Color.yellow);g_2d.setPain
{y=2*x-200;
g.drawChars(a,i,1,x,y);
x=x+6;
}
例子2
publicclassExample17_2extendsApplet
{intgap=0;
for(inti=1;i<=10;i++)
{g.drawLine(10,10+5*i,180,10+5*i);
for(inti=1;i<=8;i++)
{g.drawLine(40+3*i,70,40+3*i,150);
g.drawLine(64,70,150,156);
例子3
publicclassExample17_3extendsApplet
{g.drawRect(24,22,60,34);
g.drawRoundRect(10,10,90,60,50,30);
g.setColor(Color.cyan);
g.fillOval(10,80,120,60);
intk=0;
{Colorc=newColor(i*32-1,0,0);
g.setColor(c);k=k+5;
g.drawOval(160+k,77+k,120-2*k,80-2*k);
例子4
publicclassExample17_4extendsApplet
{g.drawArc(0,40,100,50,0,180);
g.drawArc(100,40,100,50,180,180);
g.setColor(Color.blue);
g.fillArc(0,100,40,40,0,270);
g.setColor(Color.green);
g.drawArc(55,120,120,60,-90,270);
例子5
importjava.applet.*;
importjava.awt.*;
publicclassExample17_5extendsApplet
{intpx1[]={40,80,0,40};
intpy1[]={5,45,45,5};
intpx2[]={140,180,180,140,100,100,};
intpy2[]={5,25,45,65,45,25,};
publicvoidpaint(Graphicsg)
{g.drawPolygon(px1,py1,4);//从点(40,5)画到点(80,45),再从点(80,45)画到点(0,45)。
g.drawPolygon(px2,py2,6);
例子6
publicclassExample17_6extendsApplet
{Fontf1=newFont("Helvetica",Font.PLAIN,28);
Fontf2=newFont("Helvetica",Font.BOLD,15);
Fontf3=newFont("Courier",Font.PLAIN,12);
Fontf4=
newFont("TimesRoman",Font.BOLD+Font.ITALIC,18);
{g.setFont(f1);
g.drawString("28ptplainHelvetica",5,20);
g.setFont(f2);
g.drawString("15ptboldHelvetica",5,43);
g.setFont(f3);
g.drawString("12ptplaincourier",5,75);
g.setFont(f4);
g.drawString("18ptbold&italicTimesRoman",5,92);
例子7
publicclassExample17_7extendsApplet
{publicvoidinit()
{setBackground(Color.yellow);
{g.setColor(Color.red);
g.fillOval(10,10,100,100);
g.clearRect(40,40,40,40);
例子8
importjava.awt.event.*;
publicclassExample17_8extendsApplet
{inti=0;
{i=(i+2)%360;
Colorc=newColor((3*i)%255,(7*i)%255,(11*i)%255);
g.setColor(c);g.fillArc(30,50,120,100,i,2);
g.fillArc(30,152,120,100,i,2);
try{//程序暂停300毫秒,再执行repaint()(见19章):
Thread.sleep(300);
catch(InterruptedExceptione){}
repaint();
publicvoidupdate(Graphicsg)
{g.clearRect(30,152,120,100);
paint(g);
例子9
importjava.awt.*;importjava.applet.*;
importjava.awt.geom.*;
publicclassExample17_9extendsApplet
Graphics2Dg_2d=(Graphics2D)g;
Line2Dline=newLine2D.Double(2,2,300,300);
g_2d.draw(line);
for(inti=1,k=1;i<=10;i++)
{line.setLine(10,10+k,80,10+k);
g_2d.draw(line);k=k+3;
例子10
publicclassExample17_10extendsApplet
{g.setColor(Color.blue);
Rectangle2Drect=
newRectangle2D.Double(20,30,30,30);
g_2d.draw(rect);
for(inti=1;i<=5;i++)
{rect.setRect(12,12+i,50,80);
例子11
publicclassExample17_11extendsApplet
Ellipse2Dellipse=
newEllipse2D.Double(20,30,100,50);
g_2d.draw(ellipse);
for(inti=1,k=0;i<=6;i++)
{ellipse.setFrame(20+k,30,100-2*k,50);
g_2d.draw(ellipse);k=k+5;
例子12
publicclassExample17_12extendsApplet
Arc2Darc=
newArc2D.Double(2,30,80,55,180,-90,Arc2D.OPEN);
g_2d.draw(arc);
arc.setArc(90,30,90,70,0,180,Arc2D.CHORD);
arc.setArc(190,30,50,90,0,270,Arc2D.PIE);
例子13
publicclassExample17_13extendsApplet
QuadCurve2DquadCurve=
newQuadCurve2D.Double(2,10,51,90,100,10);
g_2d.draw(quadCurve);
quadCurve.setCurve(2,100,51,10,100,100);
例子14
publicclassExample17_14extendsApplet
CubicCurve2Dcurve_1=newCubicCurve2D.Double(2,30,80,55,10,10,20,90);
CubicCurve2Dcurve_2=newCubicCurve2D.Double(2,30,5,67,20,30,20,90);
CubicCurve2Dcurve_3=newCubicCurve2D.Double(30,35,54,67,20,90,100,190);
g_2d.draw(curve_1);g_2d.draw(curve_2);g_2d.draw(curve_3);
例子15
publicclassExample17_15extendsApplet
{Graphics2Dg_2d=(Graphics2D)g;
BasicStrokebs_1
=newBasicStroke(16,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);
BasicStrokebs_2
=newBasicStroke(16f,BasicStroke.CAP_ROUND,BasicStroke.JOIN_MITER);
BasicStrokebs_3
=newBasicStroke(16f,BasicStroke.CAP_SQUARE,BasicStroke.JOIN_ROUND);
Line2Dline_1=newLine2D.Double(20,20,100,20);
Line2Dline_2=newLine2D.Double(20,50,100,50);
Line2Dline_3=newLine2D.Double(20,80,100,80);
g_2d.setStroke(bs_1);//设置线条。
g_2d.draw(line_1);
g_2d.setStroke(bs_2);g_2d.draw(line_2);
g_2d.setStroke(bs_3);g_2d.draw(line_3);
例子16
publicclassExample17_16extendsApplet
g_2d.setColor(Color.cyan);
Rectangle2Drect=newRectangle2D.Double(0,0,200,200);
g_2d.fill(rect);
Arc2Darc1=newArc2D.Double(0,0,200,200,0,180,Arc2D.CHORD),
arc2=newArc2D.Double(0,0,200,200,0,-180,Arc2D.CHORD);
RoundRectangle2DroundR1=newRoundRectangle2D.Double
(0,50,100,100,100,100),
roundR2=newRoundRectangle2D.Double
(100,50,100,100,100,100),
roundR3=newRoundRectangle2D.Double
(37.5,87.8,25,25,25,25),
roundR4=newRoundRectangle2D.Double
(137.5,87.8,25,25,25,25);
g_2d.setColor(Color.white);g_2d.fill(arc1);
g_2d.setColor(Color.black);g_2d.fill(arc2);
g_2d.fill(roundR1);
g_2d.setColor(Color.white);
g_2d.fill(roundR2);g_2d.fill(roundR3);
g_2d.setColor(Color.black);
g_2d.fill(roundR4);
例子17
publicclassExample17_17extendsApplet
GradientPaintgradient_1
=newGradientPaint(0,0,Color.red,50,50,Color.green,false);
g_2d.setPaint(gradient_1);
Rectangle2Drect_1=newRectangle2D.Double(0,0,50,50);
g_2d.fill(rect_1);
GradientPaintgradient_2
=newGradientPaint(60,50,Color.white,150,50,Color.red,false);
g_2d.setPaint(gradient_2);
Rectangle2Drect_2=newRectangle2D.Double(60,50,90,50);
g_2d.fill(rect_2);
例子18
publicclassExample17_18extendsApplet
newEllipse2D.Double(20,50,120,50);
g_2d.setColor(Color.blue);
AffineTransformtrans=newAffineTransform();
for(inti=1;i<=24;i++)
{trans.rotate(15.0*Math.PI/180,80,75);
g_2d.setTransform(trans);
//现在画的就是旋转后的椭圆样子:
例子19
importjava.awt.*;importjava.awt.event.*;
publicclassFlowerextendsApplet
//花叶两边的曲线:
QuadCurve2D
curve_1=newQuadCurve2D.Double(200,200,150,160,200,100);
CubicCurve2Dcurve_2=
newCubicCurve2D.Double(200,200,260,145,190,120,200,100);
//花叶中的纹线:
Line2Dline=newLine2D.Double(200,200,200,110);
QuadCurve2Dleaf_line1=
newQuadCurve2D.Double(200,180,195,175,190,170);
QuadCurve2Dleaf_line2=
newQuadCurve2D.Double(200,180,210,175,220,170);
QuadCurve2Dleaf_line3=
newQuadCurve2D.Double(200,160,195,155,190,150);
QuadCurve2Dleaf_line4=
newQuadCurve2D.Double(200,160,214,155,220,150);
//利用旋转来绘制花朵:
for(inti=0;i<6;i++)
{trans.rotate(60*Math.PI/180,200,200);
GradientPaintgradient_1=
newGradientPaint(200,200,Color.green,200,100,Color.yellow);
g_2d.fill(curve_1);
GradientPaintgradient_2=new
GradientPaint(200,145,Color.green,260,145,Color.red,true);
g_2d.fill(curve_2);
Colorc3=newColor(0,200,0);g_2d.setColor(c3);
g_2d.draw(leaf_line1);g_2d.draw(leaf_line2);
g_2d.draw(leaf_line3);g_2d.draw(leaf_line4);
//花瓣中间的花蕾曲线:
QuadCurve2Dcenter_curve_1=
newQuadCurve2D.Double(200,200,190,185,200,180);
AffineTransformtrans_1=newAffineTransform();
for(inti=0;i<12;i++)
{trans_1.rotate(30*Math.PI/180,200,200);
g_2d.setTransform(trans_1);
GradientPaintgradient_3=
newGradientPaint(200,200,Color.red,200,180,Color.yellow);
g_2d.setPain
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1