- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 图形、图像与多媒体
7.1 绘图基础
要在平面上显示文字和绘图,首先要确定一个平面坐标系。Java语言约定,显示屏上一个长方形区域为程序绘图区域,坐标原点(0,0)位于整个区域的左上角。一个坐标点(x,y)对应屏幕窗口中的一个像素,必须是整数。如图7.1所示。
窗口大小由超文本文件中的width和height指定。例如,以下超文本确定窗口宽为250像素,高位400像素:
applet code=h.class width=250 height=400 /applet
7.1.1 Graphics类的基本功能
在java.awt包中,类Graphics提供的功能有:建立字体、设定显示颜色、显示图像和文本,绘制和填充各种几何图形。可以从图形对象或使用Component的getGraphics()方法得到Graphics对象。Graphics2D类继承Graphics类,并且增加了许多状态属性,使应用程序可以绘制出更加丰富多彩的图形。
在某个组件中绘图,一般应该为这个组件所需的子类重写paint(0方法,在该重写的方法中进行绘图。但要在JComponent子类的组件中绘图,应重写paintComponent()方法,在该方法中进行绘图。例如,继承定义一个文本区子类,要在这样的文本区对象中绘图,就应给这个文本区子类重写paintComponent()方法。系统自动为程序通过图形对象,并以参数g传递给paint()方法和paintComponent()方法。
7.1.2 字型和颜色
显示文字的方法主要有三种:
drawString(String str,int x,int y),在指定的位置显示字符串。
drawChar(char date[],int offset,int length,int x,int y),在指定的位置显示字符数组中的文字,从字符数组的offset开始,最多显示length个字符。
drawBytes(char date[],int offset,int length,int x,int y),在指定的位置显示字节数组中的文字,从字节数组的offset开始,最多显示length个字符。
这里给出的显示位置(x,y)为文字的基线的开始坐标,不是文字显示的矩形区域的左上角坐标。
文字字型有三个要素:字体、风格和字号。常用的字体有Times New Roman、Symbol、宋体、楷体等。常用的风格有三种:正常、粗体和斜体,分别用三个常量表示:Font.PLAIN(正常)、Font.BOLD(粗体)和Font.ITALIC(斜体)。风格可以组合使用,例如,Font.BOLD+Font.ITALIC。字号是字的大小,单位是磅。
在Java语言中,用类Font对象设置字型。Font类的构造方法有:
Font(String fontName,int style,int size),3个参数分别表示字体、风格和字号。例如,代码:
Font fnA=new Font(“细明体”,Font.PLAIN,12)
设置的字型是:细明体、正常风格,12磅字号。
Font类的其他常用方法:
(1)getStyle(),import java.applet.*;import java.awt.*;
public class Example7_1 extends Applet{
Font f1=new Font(Helvetica,Font.PLAIN,18);
Font f2=new Font(Helvetica,Font.BOLD,10);
Font f3=new Font(Helvetica,Font.ITALIC,12);
Font f4=new Font(Helvetica,Font.ITALIC,12);
Font f5=new Font(Courier,Font.BOLD+Font.ITALIC,14);
Font f6=new Font(Dialog,Font.ITALIC,14);
public void paint(Graphics g){
g.setFont(f1);g.drawString(18pt plain Helvetica,5,20);
g.setFont(f2);g.drawString(10pt bold Helvetica,5, 43);
g.setFont(f3);g.drawString(12pt italic Helvetica,5,58);
g.setFont(f4);g.drawString(12pt plain Courier,5,75);
g.setFont(f5);g.drawString(14pt bold italic Times Roman
文档评论(0)