第十二章java教程Java绘图PPT课件

上传人:ni****g 文档编号:587212419 上传时间:2024-09-05 格式:PPT 页数:54 大小:417KB
返回 下载 相关 举报
第十二章java教程Java绘图PPT课件_第1页
第1页 / 共54页
第十二章java教程Java绘图PPT课件_第2页
第2页 / 共54页
第十二章java教程Java绘图PPT课件_第3页
第3页 / 共54页
第十二章java教程Java绘图PPT课件_第4页
第4页 / 共54页
第十二章java教程Java绘图PPT课件_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《第十二章java教程Java绘图PPT课件》由会员分享,可在线阅读,更多相关《第十二章java教程Java绘图PPT课件(54页珍藏版)》请在金锄头文库上搜索。

1、第第9章章 Java绘图绘图本章要点:本章要点:1、Graphics类类2、 Graphics2D类类3、Color类类4、Font类类5、图像的处理、图像的处理2021/7/2419.1 Graphics9.1 Graphics类类类类9.1.1 9.1.1 绘制直线绘制直线绘制直线绘制直线graphics类绘制直线的方法是类绘制直线的方法是drawLine()调用格式为:调用格式为:drawLine(int x1,int y1,int x2,int y2)作用:自作用:自(x1,y1)点开始至点开始至 (x2,y2)点结束点结束绘制一条直线。绘制一条直线。方法中参数解释:方法中参数解释:X

2、1,y1,x2,y2分别为所分别为所绘直线的起始点坐标绘直线的起始点坐标(x1,y1)和终止点和终止点坐标坐标(x2,y2)。 2021/7/242举例如下:举例如下:举例如下:举例如下:例例例例9.1 drawLine(2,3,2,7)9.1 drawLine(2,3,2,7)此语句的作用是绘制出一条起始点坐标为(此语句的作用是绘制出一条起始点坐标为(此语句的作用是绘制出一条起始点坐标为(此语句的作用是绘制出一条起始点坐标为(2 2,3 3)和终止点坐标)和终止点坐标)和终止点坐标)和终止点坐标为(为(为(为(2 2,7 7)的直线。)的直线。)的直线。)的直线。例例例例9.29.2 imp

3、ort java.applet.*; import java.applet.*; import java.awt.*; import java.awt.*; public class Draw_line extends Applet public class Draw_line extends Applet public void paint(Graphics g)public void paint(Graphics g) g.setColor(Color.red);g.setColor(Color.red);g.drawLine(2,4,12,400);g.drawLine(2,4,12,4

4、00);g.drawLine(40,80,100,200);g.drawLine(40,80,100,200);g.drawLine(0,0,500,500);g.drawLine(0,0,500,500); 2021/7/2439.1.2 绘制矩形绘制矩形 graphics graphics类绘制矩形的方法有四个,它们分别类绘制矩形的方法有四个,它们分别类绘制矩形的方法有四个,它们分别类绘制矩形的方法有四个,它们分别为为为为drawRect()drawRect()、fillRectfillRect()、()、()、()、drawRoundRectdrawRoundRect()()()()、f

5、illRoundRect()fillRoundRect()。其各自的使用格式和作用分述。其各自的使用格式和作用分述。其各自的使用格式和作用分述。其各自的使用格式和作用分述如下:如下:如下:如下:(1 1)、)、)、)、drawRect()drawRect()调用格式:调用格式:调用格式:调用格式:drawRect(int x,int y,int width,int height)drawRect(int x,int y,int width,int height)作用:以(作用:以(作用:以(作用:以(x,yx,y)为矩形的左上角顶点,绘制一个宽、)为矩形的左上角顶点,绘制一个宽、)为矩形的左上

6、角顶点,绘制一个宽、)为矩形的左上角顶点,绘制一个宽、高分别为高分别为高分别为高分别为widthwidth和和和和heightheight的矩形。的矩形。的矩形。的矩形。方法中的参数解释如下:方法中的参数解释如下:方法中的参数解释如下:方法中的参数解释如下:x,yx,y所绘制矩形左上角所绘制矩形左上角所绘制矩形左上角所绘制矩形左上角坐标。坐标。坐标。坐标。Width,heightWidth,height所绘制矩形的宽和高。所绘制矩形的宽和高。所绘制矩形的宽和高。所绘制矩形的宽和高。 2021/7/244该方法的使用举例如下:该方法的使用举例如下:该方法的使用举例如下:该方法的使用举例如下:例例

7、例例9.39.3import java.awt.Graphics;import java.awt.Graphics;import java.applet.Applet;import java.applet.Applet;import java.awt.Color;import java.awt.Color;class drawRclass drawR protected int x,y,width,height; protected int x,y,width,height; drawR(int a,int b,int c,int d) drawR(int a,int b,int c,int

8、d) x=a; x=a; y=b; y=b; width=c; width=c; height=d; height=d; public class drawRect extends Appletpublic class drawRect extends Applet drawR t; drawR t; public void paint(Graphics g) public void paint(Graphics g)t=new drawR(35,35,50,100);t=new drawR(35,35,50,100); g.setColor(Color.red); g.setColor(Co

9、lor.red); g.drawRect(t.x,t.y,t.width,t.height); g.drawRect(t.x,t.y,t.width,t.height); 该例绘制出一个左上角坐标为(该例绘制出一个左上角坐标为(该例绘制出一个左上角坐标为(该例绘制出一个左上角坐标为(3535,3535),宽为),宽为),宽为),宽为5050,高为,高为,高为,高为100100的矩形。运行效果的矩形。运行效果的矩形。运行效果的矩形。运行效果如图:如图:如图:如图: 2021/7/245(2)、)、fillRect()调用格式为:调用格式为:fillRect(int x,int y,int wid

10、th,int height)作用:以(作用:以(x,y)为矩形的左上角顶点,绘制)为矩形的左上角顶点,绘制一个宽、高分别为一个宽、高分别为width和和height有填充色有填充色的实心矩形。的实心矩形。方法中的参数解释如下:方法中的参数解释如下:x,y所绘矩形左所绘矩形左上角坐标。上角坐标。Width,height所绘矩形的宽所绘矩形的宽和高。和高。与与drawRect()的区别:所绘制的矩形中可有填的区别:所绘制的矩形中可有填充色。充色。 2021/7/246该方法的使用举例如下:该方法的使用举例如下:该方法的使用举例如下:该方法的使用举例如下:例例例例9.49.4import java.

11、awt.Graphics;import java.awt.Graphics;import java.applet.Applet;import java.applet.Applet;import java.awt.Color;import java.awt.Color;class drawRclass drawR protected int x,y,width,height; protected int x,y,width,height; drawR(int a,int b,int c,int d) drawR(int a,int b,int c,int d) x=a; x=a; y=b; y=

12、b; width=c; width=c; height=d; height=d; public class showdrawR extends Appletpublic class showdrawR extends Applet drawR t; drawR t; public void paint(Graphics g) public void paint(Graphics g)t=new drawR(35,35,50,100);t=new drawR(35,35,50,100); g.setColor(Color.red); g.setColor(Color.red); g.fillRe

13、ct(t.x,t.y,t.width,t.height); g.fillRect(t.x,t.y,t.width,t.height); 运行效果如下:运行效果如下:运行效果如下:运行效果如下: 2021/7/247(3)、drawroundRect()调用格式为:调用格式为:drawRoundRect(int x,int y,int width,int height,int arcW,int arcH)作用:以(作用:以(x,y)为矩形的左上角顶点,绘制)为矩形的左上角顶点,绘制一个宽、高分别为一个宽、高分别为width和和height的圆角矩的圆角矩形。形。方法中的参数解释如下:方法中的参数

14、解释如下:x,y所绘矩形左所绘矩形左上角坐标。上角坐标。Width,height所绘矩形的宽所绘矩形的宽和高。和高。arcW,arcH分别为所绘矩形圆角的宽分别为所绘矩形圆角的宽和高。和高。该方法的使用举例如下:该方法的使用举例如下:2021/7/248例例例例9.5 import java.awt.Graphics;9.5 import java.awt.Graphics;import java.applet.Applet;import java.applet.Applet;import java.awt.Color;import java.awt.Color;class drawRclas

15、s drawR protected int x,y,width,height,arw,arh; protected int x,y,width,height,arw,arh; drawR(int a,int b,int c,int d,int w,int h) drawR(int a,int b,int c,int d,int w,int h) x=a; x=a; y=b; y=b; width=c; width=c; height=d; height=d; arw=w; arw=w; arh=h; arh=h; public class showdrawR extends Appletpub

16、lic class showdrawR extends Applet drawR t; drawR t; public void paint(Graphics g) public void paint(Graphics g) t=new drawR(35,35,50,100,20,20); t=new drawR(35,35,50,100,20,20); g.setColor(Color.red);g.setColor(Color.red); g. drawRoundRect(t.x,t.y,t.width,t.height,t.arw,t.arh);g. drawRoundRect(t.x,

17、t.y,t.width,t.height,t.arw,t.arh); 该程序运行的效果如下:该程序运行的效果如下:该程序运行的效果如下:该程序运行的效果如下:2021/7/249(4) fillRoundRect()(4) fillRoundRect()调用格式为:调用格式为:调用格式为:调用格式为: fillRoundRect(int x,int y,int width,int fillRoundRect(int x,int y,int width,int height,int arcW,int arcH)height,int arcW,int arcH)方法作用:以(方法作用:以(方法作用

18、:以(方法作用:以(x,yx,y)为矩形的左上角顶点,绘制一)为矩形的左上角顶点,绘制一)为矩形的左上角顶点,绘制一)为矩形的左上角顶点,绘制一个宽、高分别为个宽、高分别为个宽、高分别为个宽、高分别为widthwidth和和和和heightheight可有填充色的圆角可有填充色的圆角可有填充色的圆角可有填充色的圆角矩形。矩形。矩形。矩形。方法中的参数解释如下:方法中的参数解释如下:方法中的参数解释如下:方法中的参数解释如下:x,yx,y所绘矩形左上角坐所绘矩形左上角坐所绘矩形左上角坐所绘矩形左上角坐标。标。标。标。Width,heightWidth,height所绘矩形的宽和高。所绘矩形的宽和

19、高。所绘矩形的宽和高。所绘矩形的宽和高。arcW,arcHarcW,arcH分别为所绘矩形圆角的宽和高。分别为所绘矩形圆角的宽和高。分别为所绘矩形圆角的宽和高。分别为所绘矩形圆角的宽和高。与与与与drawRoundRect()drawRoundRect()的区别:该方法所绘制的圆角矩的区别:该方法所绘制的圆角矩的区别:该方法所绘制的圆角矩的区别:该方法所绘制的圆角矩形中可有填充色。形中可有填充色。形中可有填充色。形中可有填充色。该方法的使用举例如下:该方法的使用举例如下:该方法的使用举例如下:该方法的使用举例如下: 2021/7/2410例例例例9.69.6import java.awt.Gr

20、aphics;import java.awt.Graphics;import java.applet.Applet;import java.applet.Applet;import java.awt.Color;import java.awt.Color;class drawRclass drawR protected int x,y,width,height,arw,arh; protected int x,y,width,height,arw,arh; drawR(int a,int b,int c,int d,int w,int h) drawR(int a,int b,int c,in

21、t d,int w,int h) x=a; x=a;y=b;y=b; width=c;width=c; height=d;height=d; arw=w; arw=w;arh=h;arh=h; public class showdrawR extends Appletpublic class showdrawR extends Applet drawR t; drawR t; public void paint(Graphics g) public void paint(Graphics g) t=new drawR(35,35,50,100,20,20);t=new drawR(35,35,

22、50,100,20,20); g.setColor(Color.red);g.setColor(Color.red);g.fillRoundrect(t.x,t.y,t.width,t.height,t.arw,t.arh);g.fillRoundrect(t.x,t.y,t.width,t.height,t.arw,t.arh); 该程序运行的效果如下:该程序运行的效果如下:该程序运行的效果如下:该程序运行的效果如下: 2021/7/24119.1.3 绘制绘制3D矩形矩形顾名思义,就是顾名思义,就是顾名思义,就是顾名思义,就是javajava语言所具有的三维矩形绘制功能,语言所具有的三维矩

23、形绘制功能,语言所具有的三维矩形绘制功能,语言所具有的三维矩形绘制功能,它是利用它是利用它是利用它是利用draw3DRect()draw3DRect()和和和和fill3DRect()fill3DRect()函数来实现函数来实现函数来实现函数来实现的。的。的。的。(1 1)、)、)、)、Draw3DRect()Draw3DRect()调用格式:调用格式:调用格式:调用格式:draw3DRect(int x,int y,int width,int draw3DRect(int x,int y,int width,int height,Boolean b)height,Boolean b)功能:以

24、左上角坐标为(功能:以左上角坐标为(功能:以左上角坐标为(功能:以左上角坐标为(x,yx,y),用指定的宽),用指定的宽),用指定的宽),用指定的宽widthwidth和和和和高高高高heightheight绘制一个三维矩形。当变量绘制一个三维矩形。当变量绘制一个三维矩形。当变量绘制一个三维矩形。当变量b b的值为的值为的值为的值为truetrue时,所绘矩形为凸起的;当变量时,所绘矩形为凸起的;当变量时,所绘矩形为凸起的;当变量时,所绘矩形为凸起的;当变量b b的值为的值为的值为的值为falsefalse时,时,时,时,所绘矩形为下凹的。所绘矩形为下凹的。所绘矩形为下凹的。所绘矩形为下凹的。

25、参数介绍如下:参数介绍如下:参数介绍如下:参数介绍如下:x,yx,y三维矩形的左上角坐标;三维矩形的左上角坐标;三维矩形的左上角坐标;三维矩形的左上角坐标;width,heightwidth,height三维矩形的宽和高。三维矩形的宽和高。三维矩形的宽和高。三维矩形的宽和高。 2021/7/2412举例如下:举例如下:举例如下:举例如下:例例例例9.79.7import java.awt.*;import java.awt.*;import java.applet.*;import java.applet.*;public class Draw_rec extends Appletpublic

26、 class Draw_rec extends Applet public void paint(Graphics g)public void paint(Graphics g) g.setColor(Color.red); g.setColor(Color.red); g.draw3DRect(10,150,100,100, g.draw3DRect(10,150,100,100, false); false); 上例绘制出一个具有下凹三维效果的矩形。上例绘制出一个具有下凹三维效果的矩形。上例绘制出一个具有下凹三维效果的矩形。上例绘制出一个具有下凹三维效果的矩形。 2021/7/2413(2

27、)、)、fill3DRect()调用格式:调用格式:fill3DRect(int x,int y,int width,int height,Boolean b)功能:以左上角坐标为(功能:以左上角坐标为(x,y),用指定的宽),用指定的宽width和高和高height绘制一带有填充色的三维绘制一带有填充色的三维矩形。当变量矩形。当变量b的值为的值为true时,所绘矩形为时,所绘矩形为凸起的;当变量凸起的;当变量b的值为的值为false时,所绘矩形时,所绘矩形为下凹的。为下凹的。参数介绍如下:参数介绍如下:x,y三维矩形的左上角坐三维矩形的左上角坐标;标;width,height三维矩形的宽和高

28、。三维矩形的宽和高。举例如下:举例如下:2021/7/2414例例例例9.89.8import java.awt.*;import java.awt.*;import java.applet.*;import java.applet.*;public class Draw_rec extends Appletpublic class Draw_rec extends Applet public void paint(Graphics g)public void paint(Graphics g) g.setColor(Color.red);g.setColor(Color.red);g.fil

29、l3DRect(10,150,100,100,false);g.fill3DRect(10,150,100,100,false);g.fill3DRect(10,150,100,100,true);g.fill3DRect(10,150,100,100,true); 上例绘制出一个具有凸起且内填充色为蓝色的三维矩形。上例绘制出一个具有凸起且内填充色为蓝色的三维矩形。上例绘制出一个具有凸起且内填充色为蓝色的三维矩形。上例绘制出一个具有凸起且内填充色为蓝色的三维矩形。 2021/7/24159.1.4 9.1.4 绘制弧形绘制弧形绘制弧形绘制弧形 GraphicsGraphics类绘制弧形的函数有

30、两个:类绘制弧形的函数有两个:类绘制弧形的函数有两个:类绘制弧形的函数有两个:drawArc()drawArc()和和和和fillArcfillArc() (),前一个用于绘制无填充色的弧形,后一个用于,前一个用于绘制无填充色的弧形,后一个用于,前一个用于绘制无填充色的弧形,后一个用于,前一个用于绘制无填充色的弧形,后一个用于绘制有填充色的弧形。绘制有填充色的弧形。绘制有填充色的弧形。绘制有填充色的弧形。(1)(1)、drawArc()drawArc()调用格式:调用格式:调用格式:调用格式: drawArc(int x,int y,int width,int drawArc(int x,in

31、t y,int width,int height,int anglestart,int angleend)height,int anglestart,int angleend)作用:绘制一段圆弧。作用:绘制一段圆弧。作用:绘制一段圆弧。作用:绘制一段圆弧。方法中参数解释:方法中参数解释:方法中参数解释:方法中参数解释:x,yx,y该圆弧外接矩形的左上角该圆弧外接矩形的左上角该圆弧外接矩形的左上角该圆弧外接矩形的左上角坐标。坐标。坐标。坐标。Width,heightWidth,height该圆弧外接矩形的宽和高。该圆弧外接矩形的宽和高。该圆弧外接矩形的宽和高。该圆弧外接矩形的宽和高。Angles

32、tartAnglestart,angleendangleend该圆弧的起始角和终止该圆弧的起始角和终止该圆弧的起始角和终止该圆弧的起始角和终止角,单位为角,单位为角,单位为角,单位为“ “度度度度” ”。“0”“0”(零)度角为(零)度角为(零)度角为(零)度角为x x轴的正方向。轴的正方向。轴的正方向。轴的正方向。正的角度按逆时针方向旋转;负的角度按顺时针正的角度按逆时针方向旋转;负的角度按顺时针正的角度按逆时针方向旋转;负的角度按顺时针正的角度按逆时针方向旋转;负的角度按顺时针方向旋转。方向旋转。方向旋转。方向旋转。该方法举例如下:该方法举例如下:该方法举例如下:该方法举例如下: 2021

33、/7/2416例例例例9.99.9import java.applet.*;import java.applet.*;import java.awt.*;import java.awt.*;public class Draw_arc extends Appletpublic class Draw_arc extends Applet public void paint(Graphics g)public void paint(Graphics g) g.setColor(Color.red); g.setColor(Color.red); g.drawArc(0,40,100,100, g.d

34、rawArc(0,40,100,100, 0,180); 0,180); g.drawArc(300,40,30,100, g.drawArc(300,40,30,100, 0,360); 0,360); g.drawArc(200,100,50,50, g.drawArc(200,100,50,50, 0,270); 0,270); 运行效果如下:运行效果如下:运行效果如下:运行效果如下: 2021/7/2417(2)、fillArc()调用格式:调用格式:fillArc(int x,int y,int width,int height,int anglestart,int angleend

35、)作用:绘制一段着色圆弧(扇形)。作用:绘制一段着色圆弧(扇形)。参数解释:参数解释:x,y该圆弧外接矩形的左上角该圆弧外接矩形的左上角坐标。坐标。Width,height该圆弧外接矩形的该圆弧外接矩形的宽和高。宽和高。Anglestart,angleend该圆弧该圆弧的起始角和终止角,单位为的起始角和终止角,单位为“度度”。“0”(零)(零)度角为度角为x轴的正方向。正的角度按逆时针方轴的正方向。正的角度按逆时针方向旋转;负的角度按顺时针方向旋转。向旋转;负的角度按顺时针方向旋转。该方法举例如下:该方法举例如下: 2021/7/2418例例例例9.10 9.10 import java.ap

36、plet.*;import java.applet.*;import java.awt.*;import java.awt.*;public class Draw_arc extends Appletpublic class Draw_arc extends Applet public void paint(Graphics g)public void paint(Graphics g) g.setColor(Color.red); g.setColor(Color.red); g.fillArc(0,40,100,100,0,180); g.fillArc(0,40,100,100,0,18

37、0); g.fillArc(300,40,30,100,0,360); g.fillArc(300,40,30,100,0,360); g.fillArc(200,100,50,50,0,270); g.fillArc(200,100,50,50,0,270); 运行效果如下:运行效果如下:运行效果如下:运行效果如下: 2021/7/24199.1.59.1.5绘制椭圆绘制椭圆 graphicsgraphics类绘制椭圆的函数有两个:类绘制椭圆的函数有两个:drawOval()drawOval()和和fillOval()fillOval(),前一个用于绘制无填充色的椭圆,前一个用于绘制无填充色

38、的椭圆,后一个用于绘制有填充色的椭圆。后一个用于绘制有填充色的椭圆。(1)(1)、drawOval()drawOval()调用格式:调用格式:drawOval(int x,int y,int width,int height)drawOval(int x,int y,int width,int height)作用:绘制一个椭圆。作用:绘制一个椭圆。参数解释:参数解释:x,yx,y该椭圆的中心坐标。该椭圆的中心坐标。Width,heightWidth,height该椭圆的宽和高。该椭圆的宽和高。2021/7/2420例例例例9.119.11import java.applet.*;import

39、java.applet.*;import java.awt.*;import java.awt.*;public class Draw_oval extends Appletpublic class Draw_oval extends Applet public void paint(Graphics g) public void paint(Graphics g) g.setColor(Color.red);g.setColor(Color.red);g.drawOval(100,40,50,24);g.drawOval(100,40,50,24);g.drawOval(50,50,30,1

40、00);g.drawOval(50,50,30,100);g.drawOval(10,10,20,70);g.drawOval(10,10,20,70); 运行效果如下:运行效果如下:运行效果如下:运行效果如下: 2021/7/2421(2)、fillOval()调用格式:调用格式:fillOval(int x,int y,int width,int height)作用:绘制一个实心着色椭圆。作用:绘制一个实心着色椭圆。参数解释:参数解释:x,y该椭圆的中心坐标。该椭圆的中心坐标。Width,height该椭圆的宽和高。该椭圆的宽和高。该方法举例如下:该方法举例如下: 2021/7/2422例

41、例例例9.129.12import java.applet.*;import java.applet.*;import java.awt.*;import java.awt.*;public class Draw_oval extends Appletpublic class Draw_oval extends Applet public void paint(Graphics g)public void paint(Graphics g) g.setColor(Color.red); g.setColor(Color.red); g.fillOval(100,40,50,24); g.fil

42、lOval(100,40,50,24); g.fillOval(50,50,30,100); g.fillOval(50,50,30,100); g.fillOval(10,10,20,70); g.fillOval(10,10,20,70); 其中其中其中其中setcolor()setcolor()用于指定椭圆着色的色值。用于指定椭圆着色的色值。用于指定椭圆着色的色值。用于指定椭圆着色的色值。运行效果如下:运行效果如下:运行效果如下:运行效果如下: 2021/7/24239.1.6 绘制多边形绘制多边形graphics类绘制多边形的函数有两个:类绘制多边形的函数有两个:DrawPolygon

43、 ()和和fillPolygon (),前一个用,前一个用于绘制无填充色的多边形,后一个用于绘制于绘制无填充色的多边形,后一个用于绘制有填充色的多边形。有填充色的多边形。(1)、drawPolygon()调用格式:调用格式:drawPolygon(int x,int y,n)作用:绘制一个无填充色的多边形。作用:绘制一个无填充色的多边形。方法中参数解释:方法中参数解释:n多边形的顶点个数加多边形的顶点个数加1。X,y多边形中多边形中n个顶点的坐标值。个顶点的坐标值。该方法举例如下:该方法举例如下: 2021/7/2424例例例例9.139.13import java.applet.*;impo

44、rt java.applet.*;import java.awt.*;import java.awt.*;public class Draw_poly extends Appletpublic class Draw_poly extends Applet public void paint(Graphics g) public void paint(Graphics g) int x1=20,50,70,80, 80, 20; /x10,x15int x1=20,50,70,80, 80, 20; /x10,x15相同相同相同相同 int y1=30,30,50,80,100, 30 ; /y

45、10,y15 int y1=30,30,50,80,100, 30 ; /y10,y15相同相同相同相同g.setColor(Color.red);g.setColor(Color.red); g.drawPolygon(x1,y1,6); g.drawPolygon(x1,y1,6);/ /补充:补充:补充:补充:165165页页页页 /g.drawLine(20,30,50,30);/g.drawLine(20,30,50,30);/g.drawLine(50,30,70,50);/g.drawLine(50,30,70,50);/g.drawLine(70,50,80,80);/g.dr

46、awLine(70,50,80,80);/g.drawLine(80,80,80,100);/g.drawLine(80,80,80,100);/g.drawLine(80,100,20,30);/g.drawLine(80,100,20,30); 运行效果如图:运行效果如图:运行效果如图:运行效果如图: 2021/7/2425(2)、fillPolygon()调用格式:调用格式:fillPolygon(int x,int y,n)作用:绘制一个有填充色的多边形。作用:绘制一个有填充色的多边形。方法中参数解释:方法中参数解释:n多边形的顶点个多边形的顶点个数。数。X,y多边形中多边形中n个顶点

47、的坐个顶点的坐标值。标值。该方法举例如下:该方法举例如下: 2021/7/2426例例例例9.149.14import java.applet.*;import java.applet.*;import java.awt.*;import java.awt.*;public class Draw_poly extends Appletpublic class Draw_poly extends Applet public void paint(Graphics g) public void paint(Graphics g) int x1=20,50,70,80,80,20; int x1=2

48、0,50,70,80,80,20; int y1=30,30,50,80,100,30; int y1=30,30,50,80,100,30; g.setColor(Color.red); g.setColor(Color.red); g.fillPolygon(x1,y1,6); g.fillPolygon(x1,y1,6); 运行效果如图:运行效果如图:运行效果如图:运行效果如图: 2021/7/24279.2 Graphics2D类类Java 2DJava 2D拥有强大的二维图形处理能力,这些功能主拥有强大的二维图形处理能力,这些功能主拥有强大的二维图形处理能力,这些功能主拥有强大的二维

49、图形处理能力,这些功能主要是由要是由要是由要是由Graphics2DGraphics2D类来完成的,该类是类来完成的,该类是类来完成的,该类是类来完成的,该类是GraphicsGraphics类的一个子类。它的特点是把所绘的图形当成一类的一个子类。它的特点是把所绘的图形当成一类的一个子类。它的特点是把所绘的图形当成一类的一个子类。它的特点是把所绘的图形当成一个对象来处理,绘制前先创建对象。个对象来处理,绘制前先创建对象。个对象来处理,绘制前先创建对象。个对象来处理,绘制前先创建对象。9.2.19.2.1绘制绘制绘制绘制2D2D直线直线直线直线调用格式:先创建调用格式:先创建调用格式:先创建调用

50、格式:先创建2D2D线形对象:线形对象:线形对象:线形对象:Line2D line=new Line2D line=new Line2D.Double(double x1,double y1,double x2,double y2);Line2D.Double(double x1,double y1,double x2,double y2);然后再绘制然后再绘制然后再绘制然后再绘制2D2D直线直线直线直线lineline。作用:绘制一条二维直线。作用:绘制一条二维直线。作用:绘制一条二维直线。作用:绘制一条二维直线。参数说明:参数说明:参数说明:参数说明:x1,y1x1,y1二维直线的起始坐标

51、;二维直线的起始坐标;二维直线的起始坐标;二维直线的起始坐标;x2,y2x2,y2二维直二维直二维直二维直线的终点坐标。线的终点坐标。线的终点坐标。线的终点坐标。举例如下:举例如下:举例如下:举例如下: 2021/7/2428例例例例9.159.15import java.awt.*;import java.awt.*;import java.applet.*;import java.applet.*;import java.awt.geom.*;import java.awt.geom.*;public class draw_2d_line extends Appletpublic clas

52、s draw_2d_line extends Applet public void paint(Graphics g)public void paint(Graphics g) Graphics2D d2;Graphics2D d2;d2=(Graphics2D)g;/d2=(Graphics2D)g;/转换转换转换转换d d为为为为2D2D对象对象对象对象d2.setColor(Color.red);d2.setColor(Color.red);Line2D line=new Line2D.Double(100,10,100,300);/Line2D line=new Line2D.Doub

53、le(100,10,100,300);/创建创建创建创建lineline对象对象对象对象d2.draw(line);/d2.draw(line);/画出画出画出画出2D2D直线直线直线直线d2.setColor(Color.blue);d2.setColor(Color.blue);Line2D line1=new Line2D.Double(0,300,100,300);/Line2D line1=new Line2D.Double(0,300,100,300);/创建创建创建创建lineline对象对象对象对象d2.draw(line1);/d2.draw(line1);/画出画出画出画出

54、2D2D直线直线直线直线 运行效果如下:运行效果如下:运行效果如下:运行效果如下: 2021/7/24299.2.2 绘制绘制2D矩形矩形 调用格式:先创建调用格式:先创建调用格式:先创建调用格式:先创建2D2D矩形对象:矩形对象:矩形对象:矩形对象:Rectangle2D Rectangle2D rect=new Rectangle2D.Double(double x1,double rect=new Rectangle2D.Double(double x1,double y1,double width,double height);y1,double width,double height

55、); 然后再绘制然后再绘制2D矩形。矩形。 作用:绘制一个作用:绘制一个作用:绘制一个作用:绘制一个2D2D矩形。矩形。矩形。矩形。 参数说明:参数说明:参数说明:参数说明:x1,y12Dx1,y12D矩形的左上角坐标;矩形的左上角坐标;矩形的左上角坐标;矩形的左上角坐标;width,height2Dwidth,height2D矩形的宽和高。矩形的宽和高。矩形的宽和高。矩形的宽和高。 举例如下:举例如下: 2021/7/2430例例例例9.169.16import java.awt.*;import java.awt.*;import java.applet.*;import java.app

56、let.*;import java.awt.geom.*;import java.awt.geom.*;public class draw_2d_Rect extends Appletpublic class draw_2d_Rect extends Appletpublic void paint(Graphics g)public void paint(Graphics g) Graphics2D d2;Graphics2D d2;d2=(Graphics2D)g;/d2=(Graphics2D)g;/转换转换转换转换g g为为为为2D2D对象对象对象对象d2.setColor(Color.

57、red);d2.setColor(Color.red);Rectangle2D rect=new Rectangle2D.Double(40,50,250,300);/Rectangle2D rect=new Rectangle2D.Double(40,50,250,300);/创建创建创建创建矩形对象矩形对象矩形对象矩形对象d2.draw(rect);/d2.draw(rect);/画出矩形画出矩形画出矩形画出矩形d2.setColor(Color.blue);d2.setColor(Color.blue);Rectangle2D rect1=new Rectangle2D.Double(8

58、0,100,250,300);/Rectangle2D rect1=new Rectangle2D.Double(80,100,250,300);/创创创创建矩形对象建矩形对象建矩形对象建矩形对象d2.draw(rect1);/d2.draw(rect1);/画出矩形画出矩形画出矩形画出矩形 运行效果如图:运行效果如图:运行效果如图:运行效果如图: 2021/7/24319.2.3 绘制绘制2D圆角矩形圆角矩形 调用格式:先创建调用格式:先创建调用格式:先创建调用格式:先创建2D2D圆角矩形对象:圆角矩形对象:圆角矩形对象:圆角矩形对象:RoundRectangle2D r_rect=new

59、RoundRectangle2D r_rect=new RoundRectangle2D.Double(double x1,double RoundRectangle2D.Double(double x1,double y1,double width,double height , double y1,double width,double height , double arcw,double arch);arcw,double arch); 然后再绘制然后再绘制2D圆角矩形。圆角矩形。 作用:绘制一个作用:绘制一个作用:绘制一个作用:绘制一个2D2D圆矩形。圆矩形。圆矩形。圆矩形。 参数说

60、明:参数说明:参数说明:参数说明:x1,y1x1,y1,width,heightwidth,height分别为分别为分别为分别为2D2D圆角矩形的左上角坐标、宽和高;圆角矩形的左上角坐标、宽和高;圆角矩形的左上角坐标、宽和高;圆角矩形的左上角坐标、宽和高;arcw,archarcw,arch分别为圆角的长轴和短轴。分别为圆角的长轴和短轴。分别为圆角的长轴和短轴。分别为圆角的长轴和短轴。 举例如下:举例如下: 2021/7/2432例例例例9.179.17import java.awt.*;import java.awt.*;import java.applet.*;import java.ap

61、plet.*;import java.awt.geom.*;import java.awt.geom.*;public class draw_2d_Rect extends Appletpublic class draw_2d_Rect extends Appletpublic void paint(Graphics g)public void paint(Graphics g)Graphics2D d2;Graphics2D d2;d2=(Graphics2D)g;/d2=(Graphics2D)g;/转换转换转换转换g g为为为为2D2D对象对象对象对象d2.setColor(Color.

62、red);d2.setColor(Color.red);RoundRectangle2D rect=new RoundRectangle2D rect=new RoundRectangle2D.Double(40,50,50,30,20,20);/RoundRectangle2D.Double(40,50,50,30,20,20);/创建矩创建矩创建矩创建矩/ /形对象形对象形对象形对象d2.draw(rect);/d2.draw(rect);/画出矩形画出矩形画出矩形画出矩形d2.setColor(Color.blue);d2.setColor(Color.blue);RoundRectan

63、gle2D rect1=new RoundRectangle2D rect1=new RoundRectangle2D.Double(80,100,50,30,20,20);/RoundRectangle2D.Double(80,100,50,30,20,20);/创建创建创建创建/ /矩形对矩形对矩形对矩形对象象象象d2.draw(rect1);/d2.draw(rect1);/画出矩形画出矩形画出矩形画出矩形 运行效果如图:运行效果如图:运行效果如图:运行效果如图: 2021/7/24339.2.4 绘制椭圆绘制椭圆 调用格式:先创建调用格式:先创建调用格式:先创建调用格式:先创建2D2D

64、椭圆对象:椭圆对象:椭圆对象:椭圆对象:Ellipse2D Ellipse2D ellipse=new Ellipse2D.Double(double x1,double ellipse=new Ellipse2D.Double(double x1,double y1,double width,double height );y1,double width,double height ); 然后再绘制然后再绘制2D椭圆。椭圆。 作用:绘制一个作用:绘制一个作用:绘制一个作用:绘制一个2D2D椭圆。椭圆。椭圆。椭圆。 参数说明:参数说明:参数说明:参数说明:x1,y1x1,y1,width,he

65、ightwidth,height分别为分别为分别为分别为2D2D椭圆的左上角坐标、宽和高。椭圆的左上角坐标、宽和高。椭圆的左上角坐标、宽和高。椭圆的左上角坐标、宽和高。 举例如下:举例如下: 2021/7/2434例例例例9.189.18import java.awt.*;import java.awt.*;import java.applet.*;import java.applet.*;import java.awt.geom.*;import java.awt.geom.*;public class draw_2d_Rect extends Appletpublic class draw

66、_2d_Rect extends Applet public void paint(Graphics g)public void paint(Graphics g) Graphics2D d2;Graphics2D d2;d2=(Graphics2D)g;/d2=(Graphics2D)g;/转换转换转换转换g g为为为为2D2D对象对象对象对象d2.setColor(Color.red);d2.setColor(Color.red);Ellipse2D ellipse =new Ellipse2D.Double(10,10,100,200);/Ellipse2D ellipse =new E

67、llipse2D.Double(10,10,100,200);/创建椭圆对象创建椭圆对象创建椭圆对象创建椭圆对象d2.draw(ellipse);/d2.draw(ellipse);/画出椭圆画出椭圆画出椭圆画出椭圆/ /d2.setColor(Color.blue);d2.setColor(Color.blue);Ellipse2D ellipse1=new Ellipse2D.Double(20,20,100,200);/Ellipse2D ellipse1=new Ellipse2D.Double(20,20,100,200);/创建椭圆对象创建椭圆对象创建椭圆对象创建椭圆对象d2.dr

68、aw(ellipse1);/d2.draw(ellipse1);/画出矩形画出矩形画出矩形画出矩形 运行效果如图:运行效果如图:运行效果如图:运行效果如图: 2021/7/24359.2.5 绘制绘制2D园弧园弧 调用格式:先创建调用格式:先创建调用格式:先创建调用格式:先创建2D2D圆弧对象:圆弧对象:圆弧对象:圆弧对象:Arc2D Arc2D arc=new Arc2D.Double(double x1,double arc=new Arc2D.Double(double x1,double y1,double width,double height ,double y1,double w

69、idth,double height ,double starang,double endang,arc2D.pie);starang,double endang,arc2D.pie); 然后再绘制然后再绘制2D圆弧。圆弧。 作用:绘制一条作用:绘制一条作用:绘制一条作用:绘制一条2D2D圆弧。圆弧。圆弧。圆弧。 参数说明:参数说明:参数说明:参数说明:x1,y1x1,y1,width,height2Dwidth,height2D圆弧外接圆弧外接圆弧外接圆弧外接矩形的左上角坐标、宽和高。矩形的左上角坐标、宽和高。矩形的左上角坐标、宽和高。矩形的左上角坐标、宽和高。Starang,endingS

70、tarang,ending圆弧的起始角和终止角,单位为圆弧的起始角和终止角,单位为圆弧的起始角和终止角,单位为圆弧的起始角和终止角,单位为“ “度度度度” ”。最后。最后。最后。最后一个参数的取值为:一个参数的取值为:一个参数的取值为:一个参数的取值为:Arc2D.OPENArc2D.OPEN、Arc2D.PIEArc2D.PIE、Arc2D.CHORDArc2D.CHORD分别代表开弧、饼弧、弓弧。分别代表开弧、饼弧、弓弧。分别代表开弧、饼弧、弓弧。分别代表开弧、饼弧、弓弧。 举例如下:举例如下: 2021/7/2436例例例例9.199.19import java.awt.*;import

71、 java.awt.*;import java.applet.*;import java.applet.*;import java.awt.geom.*;import java.awt.geom.*;public class draw_2d_Arc extends Appletpublic class draw_2d_Arc extends Applet public void paint(Graphics g)public void paint(Graphics g)Graphics2D d2;Graphics2D d2;d2=(Graphics2D)g;/d2=(Graphics2D)g;

72、/转换转换转换转换g g为为为为2D2D对象对象对象对象d2.setColor(Color.red);d2.setColor(Color.red);Arc2D arc1=new Arc2D.Double(20,30,80,55,0,90,Arc2D.OPEN);/Arc2D arc1=new Arc2D.Double(20,30,80,55,0,90,Arc2D.OPEN);/创建对创建对创建对创建对象象象象d2.draw(arc1);/d2.draw(arc1);/画出开弧,红色画出开弧,红色画出开弧,红色画出开弧,红色d2.setColor(Color.blue);d2.setColor(

73、Color.blue);Arc2D arc2=new Arc2D.Double(40,30,80,55,0,90,Arc2D.PIE);/Arc2D arc2=new Arc2D.Double(40,30,80,55,0,90,Arc2D.PIE);/创建对象创建对象创建对象创建对象d2.draw(arc2);/d2.draw(arc2);/画出饼弧,蓝色画出饼弧,蓝色画出饼弧,蓝色画出饼弧,蓝色d2.setColor(Color.green);d2.setColor(Color.green);Arc2D arc3=new Arc2D.Double(80,30,80,55,0,90,Arc2D

74、.CHORD);/Arc2D arc3=new Arc2D.Double(80,30,80,55,0,90,Arc2D.CHORD);/创建创建创建创建对象对象对象对象d2.draw(arc3);/d2.draw(arc3);/画出弓弧,绿色画出弓弧,绿色画出弓弧,绿色画出弓弧,绿色 运行效果如图:运行效果如图:运行效果如图:运行效果如图: 2021/7/24379.2.6 绘制二次曲线绘制二次曲线 调用格式:先创建调用格式:先创建2D二次曲线对象:二次曲线对象:QuadCurve2D draw_c=new QuadCurve2D.Double(double x1,double y1,doub

75、le x2,double y2,double x3,double y3 );然后再绘制二然后再绘制二次曲线。次曲线。 作用:绘制二次曲线。作用:绘制二次曲线。 参数说明:参数说明:x1,y1,x2,y2分别为两个端分别为两个端点坐标。点坐标。X3,y3控制点坐标。控制点坐标。 举例如下:举例如下: 2021/7/2438例例例例9.209.20import java.awt.*;import java.awt.*;import java.applet.*;import java.applet.*;import java.awt.geom.*;import java.awt.geom.*;pub

76、lic class draw_2d_Rect extends Appletpublic class draw_2d_Rect extends Appletpublic void paint(Graphics g)public void paint(Graphics g)Graphics2D d2;Graphics2D d2;d2=(Graphics2D)g;/d2=(Graphics2D)g;/转换转换转换转换g g为为为为2D2D对象对象对象对象d2.setColor(Color.red);d2.setColor(Color.red);QuadCurve2D draw_c1=new Quad

77、Curve2D draw_c1=new QuadCurve2D.Double(10,50,100,100,20,40);/QuadCurve2D.Double(10,50,100,100,20,40);/创建对象创建对象创建对象创建对象d2.draw(draw_c1);/d2.draw(draw_c1);/画出画出画出画出d2.setColor(Color.blue);d2.setColor(Color.blue);QuadCurve2D draw_c2=new QuadCurve2D draw_c2=new QuadCurve2D.Double(20,60,100,100,40,80);/Q

78、uadCurve2D.Double(20,60,100,100,40,80);/创建对象创建对象创建对象创建对象d2.draw(draw_c2);/d2.draw(draw_c2);/画出画出画出画出d2.setColor(Color.green);d2.setColor(Color.green);QuadCurve2D draw_c3=new QuadCurve2D draw_c3=new QuadCurve2D.Double(30,70,100,100,80,160);/QuadCurve2D.Double(30,70,100,100,80,160);/创建对象创建对象创建对象创建对象d2

79、.draw(draw_c3);/d2.draw(draw_c3);/画出画出画出画出 运行效果如图:运行效果如图:运行效果如图:运行效果如图: 2021/7/24399.3 Color类类vvjava语言的颜色类语言的颜色类Color类为我们类为我们定义了丰富的颜色值常量和颜色值产定义了丰富的颜色值常量和颜色值产生的方法,能够让我们控制各种色彩生的方法,能够让我们控制各种色彩的显示。其每一种颜色都是由的显示。其每一种颜色都是由“红红-绿绿-蓝蓝”三原色合成。三原色合成。 2021/7/24409.3.2 Color类中的常用方法类中的常用方法1 Color()调用格式:调用格式:public

80、color(int red,int green,int blue)作用:配置颜色。作用:配置颜色。参数解释:参数解释:red,green,blue分别为配置三分别为配置三原色(红、绿、蓝)的色值。原色(红、绿、蓝)的色值。举例如下:举例如下: 2021/7/2441例例例例9.219.21import java.awt.Graphics;import java.awt.Graphics;import java.applet.Applet;import java.applet.Applet;import java.awt.Color;import java.awt.Color;class cir

81、cleclass circle protected int x,y,width,height; protected int x,y,width,height; circle() circle() x=35; x=35; y=35; y=35; width=50; width=50; height=100; height=100; public class showcircle extends Appletpublic class showcircle extends Applet circle t=new circle(); circle t=new circle(); public void

82、 paint(Graphics g) public void paint(Graphics g) Color co=new Color(255,0,0); Color co=new Color(255,0,0); g.setColor(co); g.setColor(co); g.drawOval(t.x+150,t.y+150,t.width,t.height); g.drawOval(t.x+150,t.y+150,t.width,t.height); Color co1=new Color(0,0,255); Color co1=new Color(0,0,255); g.setColo

83、r(co1); g.setColor(co1);g.fillOval(t.x,t.y,t.width,t.height);g.fillOval(t.x,t.y,t.width,t.height); 运行效果如图:运行效果如图:运行效果如图:运行效果如图: 2021/7/24422 Getred()2 Getred()调用格式:调用格式:调用格式:调用格式:public int getred()public int getred()作用:返回当前色值中的红色含量值。作用:返回当前色值中的红色含量值。作用:返回当前色值中的红色含量值。作用:返回当前色值中的红色含量值。3 Getblue()3 Ge

84、tblue()调用格式:调用格式:调用格式:调用格式:public int getblue()public int getblue()作用:返回当前色值中的蓝色含量值。作用:返回当前色值中的蓝色含量值。作用:返回当前色值中的蓝色含量值。作用:返回当前色值中的蓝色含量值。4 GetGreen()4 GetGreen()调用格式:调用格式:调用格式:调用格式:public int getGreen()public int getGreen()作用:返回当前色值中的绿色含量值。作用:返回当前色值中的绿色含量值。作用:返回当前色值中的绿色含量值。作用:返回当前色值中的绿色含量值。以上三个方法举例如下:

85、以上三个方法举例如下:以上三个方法举例如下:以上三个方法举例如下: 2021/7/2443例例例例9.229.22import java.awt.Graphics;import java.awt.Graphics;import java.applet.Applet;import java.applet.Applet;import java.awt.Color;import java.awt.Color;public class showcircle extends Appletpublic class showcircle extends Applet public void paint(Gr

86、aphics g) public void paint(Graphics g) Color co=new Color(255,0,0); Color co=new Color(255,0,0); g.setColor(co); g.setColor(co); Color c=g.getColor(); Color c=g.getColor(); g.drawString( g.drawString(红色含量值红色含量值红色含量值红色含量值+c.getRed(),10,20);+c.getRed(),10,20); g.drawString( g.drawString(绿色含量值绿色含量值绿色含

87、量值绿色含量值+c.getGreen(),10,40);+c.getGreen(),10,40); g.drawString( g.drawString(蓝色含量值蓝色含量值蓝色含量值蓝色含量值+c.getBlue(),10,60);+c.getBlue(),10,60); 2021/7/24445 Setcolor()5 Setcolor()调用格式:调用格式:调用格式:调用格式:public abstact void Setcolor( Color c)public abstact void Setcolor( Color c)作用:设置当前颜色值。作用:设置当前颜色值。作用:设置当前颜色

88、值。作用:设置当前颜色值。参数解释:参数解释:参数解释:参数解释:cc颜色值。颜色值。颜色值。颜色值。运行事例参看运行事例参看运行事例参看运行事例参看“ “例例例例19”19”。6 Getcolor()6 Getcolor()调用格式:调用格式:调用格式:调用格式:public abstact color getcolor()public abstact color getcolor()作用:返回当前颜色值。作用:返回当前颜色值。作用:返回当前颜色值。作用:返回当前颜色值。举例如下:举例如下:举例如下:举例如下: 2021/7/2445例例9.23import java.awt.Graphic

89、s;import java.applet.Applet;import java.awt.Color;public class showcircle extends Applet public void paint(Graphics g) g.setColor(g.getColor(); g.fillOval(20,30,40,50); 2021/7/24469.4 Font类类在前面章节的很多例子中我们都使用了输出在前面章节的很多例子中我们都使用了输出文本的方法。在没有设置字体、字型号的情文本的方法。在没有设置字体、字型号的情况下,其输出都是采用的默认字体和字型号。况下,其输出都是采用的默认字

90、体和字型号。在在java语言中,我们可以通过语言中,我们可以通过Font类来设定类来设定不同的输出字体、字型号,使我们的界面更不同的输出字体、字型号,使我们的界面更美观、更漂亮。下面我们就美观、更漂亮。下面我们就Font类的使用做类的使用做一详解。一详解。Java语言中,设置字体输出的操作顺序一般语言中,设置字体输出的操作顺序一般是:先用是:先用Font类创建字体对象,然后用类创建字体对象,然后用setFont()方法设置输出字体,最后用方法设置输出字体,最后用drawString()输出结果。输出结果。2021/7/24479.4.1 利用利用Font类建立字体类建立字体1 Font1 Fo

91、nt类建立字体调用格式:类建立字体调用格式:类建立字体调用格式:类建立字体调用格式: Font crea_Font=new Font crea_Font=new Font(string font_name,int font_style,int font_size)Font(string font_name,int font_style,int font_size)2 2 参数说明:参数说明:参数说明:参数说明:font_namefont_name字体的名称。如:字体的名称。如:字体的名称。如:字体的名称。如:“SansSerif”“SansSerif”、“Times”“Times”、“ “黑体

92、黑体黑体黑体” ”、“ “宋体宋体宋体宋体” ”等。等。等。等。font_stylefont_style字体的样式。如:字体的样式。如:字体的样式。如:字体的样式。如:Font.PLAIN(Font.PLAIN(正常体正常体正常体正常体) )、Font.BOLDFont.BOLD(加粗体)、(加粗体)、(加粗体)、(加粗体)、Font.ITALICFont.ITALIC(斜体)等。(斜体)等。(斜体)等。(斜体)等。font_sizefont_size字体大小的磅值,是一个数字。如:字体大小的磅值,是一个数字。如:字体大小的磅值,是一个数字。如:字体大小的磅值,是一个数字。如:1010、121

93、2、1414、1818、2020等。等。等。等。创建字体的使用举例:创建字体的使用举例:创建字体的使用举例:创建字体的使用举例: 2021/7/2448例例例例9.249.24import java.awt.Graphics;import java.awt.Graphics;import java.applet.*;import java.applet.*;public class showfont extends Appletpublic class showfont extends Applet Font font1=new Font(“Times New Roman”,Font.BOLD

94、,14);Font font1=new Font(“Times New Roman”,Font.BOLD,14);Font font2=new Font(“SansSerif”,Font.ITALIC,48);Font font2=new Font(“SansSerif”,Font.ITALIC,48);Font font3=new Font(“Serif”,Font.PLAIN,60);Font font3=new Font(“Serif”,Font.PLAIN,60); public void paint(Graphics g) public void paint(Graphics g)

95、g.setFont(font1); g.setFont(font1); g.drawstring(“ g.drawstring(“这是这是这是这是Times New Times New Roman Roman字体字体字体字体” ”,2020,30)30); g.setFont(font2); g.setFont(font2); g.drawstring(“ g.drawstring(“这是这是这是这是SansSerifSansSerif字体字体字体字体” ”, 60 60,30)30);g.setFont(font3);g.setFont(font3); g.drawstring(“ g.dr

96、awstring(“这是这是这是这是SerifSerif字体字体字体字体” ”, 80 80,30)30); 运行效果如图:运行效果如图:运行效果如图:运行效果如图: 2021/7/24499.4.2设置字体的方法设置字体的方法setFont()1 1、作用:设置当前输出字符串的字体。、作用:设置当前输出字符串的字体。、作用:设置当前输出字符串的字体。、作用:设置当前输出字符串的字体。2 2、setFont()setFont()调用格式:调用格式:调用格式:调用格式: public void setFont(Font public void setFont(Font font)font)3 3

97、、参数说明:、参数说明:、参数说明:、参数说明:fontfont字体对象。字体对象。字体对象。字体对象。事例参看例事例参看例事例参看例事例参看例9.249.24。9.4.3输出字体的方法输出字体的方法drawstring()1 1、作用:按当前设定的字体输出字符串。、作用:按当前设定的字体输出字符串。、作用:按当前设定的字体输出字符串。、作用:按当前设定的字体输出字符串。2 2、setFont()setFont()调用格式:调用格式:调用格式:调用格式: public void public void drawstring(string s,int x,int y)drawstring(str

98、ing s,int x,int y)3 3、参数说明:、参数说明:、参数说明:、参数说明:ss输出的字符串。输出的字符串。输出的字符串。输出的字符串。X,yX,y字符串字符串字符串字符串的输出坐标(的输出坐标(的输出坐标(的输出坐标(x,yx,y)事例参看例事例参看例事例参看例事例参看例9.249.24。 2021/7/24509.5 图像的处理图像的处理JavaJava语言支持两类格式的图像处理,它们是语言支持两类格式的图像处理,它们是语言支持两类格式的图像处理,它们是语言支持两类格式的图像处理,它们是GIFGIF格式格式格式格式与与与与JPEGJPEG格式。与图形处理不同的是图形处理是格式

99、。与图形处理不同的是图形处理是格式。与图形处理不同的是图形处理是格式。与图形处理不同的是图形处理是JavaJava程序绘制出来的,而图像是用其他工具生成程序绘制出来的,而图像是用其他工具生成程序绘制出来的,而图像是用其他工具生成程序绘制出来的,而图像是用其他工具生成的特殊二进制文件。的特殊二进制文件。的特殊二进制文件。的特殊二进制文件。JavaJava语言处理图像的一般步骤是:先加载图像,然语言处理图像的一般步骤是:先加载图像,然语言处理图像的一般步骤是:先加载图像,然语言处理图像的一般步骤是:先加载图像,然后输出图像。后输出图像。后输出图像。后输出图像。9.5.1 9.5.1 加载图像加载图

100、像加载图像加载图像加载图像常在程序的初始化方法中进行,使用的方加载图像常在程序的初始化方法中进行,使用的方加载图像常在程序的初始化方法中进行,使用的方加载图像常在程序的初始化方法中进行,使用的方法是法是法是法是getImage()getImage()。1 1、调用格式:、调用格式:、调用格式:、调用格式:getImage(URL urgetImage(URL ur,String Fname)String Fname)2 2、作用:加载指定的图像文件。该方法有返回值,、作用:加载指定的图像文件。该方法有返回值,、作用:加载指定的图像文件。该方法有返回值,、作用:加载指定的图像文件。该方法有返回值

101、,返回值是一个返回值是一个返回值是一个返回值是一个ImageImage对象。对象。对象。对象。3 3、参数解释:、参数解释:、参数解释:、参数解释:urURLurURL(Universal Resource Universal Resource LocatorLocator)类的对象)类的对象)类的对象)类的对象, ,用于指出图像文件所在的地址。用于指出图像文件所在的地址。用于指出图像文件所在的地址。用于指出图像文件所在的地址。FnameFname图像文件名称。图像文件名称。图像文件名称。图像文件名称。 2021/7/24519.5.2 输出图像输出图像显示使用的方法是显示使用的方法是显示使用

102、的方法是显示使用的方法是drawgetImage()drawgetImage()。1 1、调用格式:、调用格式:、调用格式:、调用格式:drawImage(Image img,int x,int y,int drawImage(Image img,int x,int y,int width,int height,Color bcolor,ImageObserver width,int height,Color bcolor,ImageObserver observer)observer)2 2、作用:将加载的图像显示与指定位置。、作用:将加载的图像显示与指定位置。、作用:将加载的图像显示与指定

103、位置。、作用:将加载的图像显示与指定位置。3 3、参数解释:、参数解释:、参数解释:、参数解释:imgimg显示的图像。显示的图像。显示的图像。显示的图像。X,yX,y图像显示位置的左上角坐标。图像显示位置的左上角坐标。图像显示位置的左上角坐标。图像显示位置的左上角坐标。Width,heightWidth,height图像实际显示时的高度、宽度。图像实际显示时的高度、宽度。图像实际显示时的高度、宽度。图像实际显示时的高度、宽度。bcolorbcolor图像显示区域的背景色。图像显示区域的背景色。图像显示区域的背景色。图像显示区域的背景色。ObserverObserver图像加载跟踪器。其值常设

104、为图像加载跟踪器。其值常设为图像加载跟踪器。其值常设为图像加载跟踪器。其值常设为thisthis,用,用,用,用以表示用以表示用以表示用以表示用AppletApplet做跟踪器。做跟踪器。做跟踪器。做跟踪器。以上两个显示图像的方法结合起来举例如下:以上两个显示图像的方法结合起来举例如下:以上两个显示图像的方法结合起来举例如下:以上两个显示图像的方法结合起来举例如下: 2021/7/2452例例例例9.259.25import java.awt.*;import java.awt.*;import java.applet.*;import java.applet.*;public class s

105、how_image extends Appletpublic class show_image extends Applet Image img; Image img;public void init()public void init()img=getImage(getCodeBase(),Fish.jpg);img=getImage(getCodeBase(),Fish.jpg);/ getCodeBase()/ getCodeBase()用于指定当前路径用于指定当前路径用于指定当前路径用于指定当前路径 public void paint(Graphics g) public void paint(Graphics g) g.drawImage(img,30,20,this); g.drawImage(img,30,20,this); 运行效果如图:运行效果如图:运行效果如图:运行效果如图: 2021/7/2453本章小结:本章小结: vv 本章主要讲述了本章主要讲述了java语言的语言的Graphics类的使用方法。通过本章的类的使用方法。通过本章的学习,我们应能参照本章许多事例掌学习,我们应能参照本章许多事例掌握握Graphics类各种画图方法的使用,类各种画图方法的使用,达到灵活运用的目的。达到灵活运用的目的。2021/7/2454

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号