付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PART 01基础图文动画chapter 01文字绘制1-1 简介1-2 Frame类1-3 线程绘图流程1-4 Font类1-5 Color类1-6 中文处理1-7 习题1-1 简介 本书探讨的是动画游戏,包括文字、图像和动画,这些都需要一个环境来显示。常用的显示工具是框架(Frame)与浏览器(Browser),前者可用于单机显示或多机网络对阵;后者可用于单机网络显示,本书将对它们进行详细介绍。本章将使用框架来显示基础图文。1-2 Frame 类 java.awt.Frame继承(extends)自WindowContainerComponentObject,此类对象可以创建一个窗口,配合
2、Java程序以提供单机图文或多机网络对阵图文的显示。范例1:文件Ex1_2_1.java的功能是解释窗口框架的创建。 01 import java.awt.*;02 class Ex1_2_1 03 public Ex1_2_1() 04 Frame frame = new Frame(Ex1_2_1);05 frame.setSize(350, 350);06 frame.setVisible(true); 07 08 public static void main(String args) 09 Ex1_2_1 workstart = new Ex1_2_1();10 11 范例2:文件E
3、x1_2_2.java的功能是解释继承Frame类的使用方法。 01 import java.awt.*;02 public class Ex1_2_2 extends Frame 03 public Ex1_2_2() 04 super(Ex1_2_2);05 setSize(350, 350);06 setVisible(true);07 08 public static void main(String args) 09 Ex1_2_2 workStart=new Ex1_2_2();10 11 1-3 线程绘图流程 在绘图或游戏应用上,发生事件的区域范围不仅广大,且数量也多不胜数。在程
4、序设计中,我们必须考虑事件线程同步并行的情况,当CPU能力允许时各线程竞争进入CPU运行,以提高运行效率。为了达到这些要求,我们使用Thread类、Runnable接口和Component类。线程绘图流程01 public class myWork extends Frame implements Runnable 02 public static void main(String args) 03 myWork workStart=new myWork ();04 05 public myWork () 06 super(myWork);07 setSize(350, 350);08 set
5、Visible(true);09 new Thread(this).start();10 11 public void run() 12 13 repaint();14 15 public void paint(Graphics g) 16 17 18 1-4 Font 类 java.awt.Font继承(extends)自Object,此类对象定义字体的规格,包括字体名称(如Times New Roman)、字体模式(如BOLD)和字号(如10)等。范例3:文件Ex1_4_1.java的功能是解释如何以Font类来创建字体对象? 01 import java.awt.*;02 import
6、java.awt.event.*;03 import java.awt.Graphics;04 import java.awt.Font;05 public class Ex1_4_1 extends Frame implements Runnable 06 Font messageFont;07 String message;08 public static void main(String args) 09 Ex1_4_1 workStart=new Ex1_4_1();10 范例3 续11 public Ex1_4_1() 12 super(Ex1_4_1);13 setSize(350
7、, 350);14 setVisible(true);15 new Thread(this).start();16 17 public void run() 18 messageFont = new Font(TimesRoman, Font.PLAIN, 20);19 message = This is a test string;20 repaint();21 22 public void paint(Graphics g) 23 g.setFont(messageFont);24 g.drawString(message, 5, 50);25 26 范例4:文件Ex1_4_2.java的
8、功能是解释Font类各实例方法的应用? 01 import java.awt.*;02 import java.awt.event.*;03 import java.awt.Graphics;04 import java.awt.Font;05 public class Ex1_4_2 extends Frame implements Runnable 06 Font messageFont;07 String message;08 public static void main(String args) 09 Ex1_4_2 workStart=new Ex1_4_2();10 11 pub
9、lic Ex1_4_2() 12 super(Ex1_4_2);13 setSize(350, 350);14 setVisible(true);15 new Thread(this).start();16 范例4 续17 public void run() 18 messageFont = new Font(TimesRoman, Font.PLAIN, 20);19 message = This is a test string;20 System.out.println(getName() : + messageFont.getName();21 System.out.println(g
10、etStyle() : + messageFont.getStyle();22 System.out.println(getSize() : + messageFont.getSize();23 System.out.println(isBold() : + messageFont.isBold();24 System.out.println(isItalic() : + messageFont.isItalic();25 System.out.println(isPlain() : + messageFont.isPlain();26 repaint();27 28 public void
11、paint(Graphics g) 29 g.setFont(messageFont);30 g.drawString(message, 5, 50);31 32 1-5 Color 类java.awt.Color继承(extends) 自Object,为public final Class,此类对象用于定义颜色值,因是final类别,故不得被继承使用。范例5:文件Ex1_5_1.java的功能是解释Color类的构造函数参数颜色值的设置。 01 import java.awt.*;02 import java.awt.event.*;03 import java.awt.Graphics;0
12、4 import java.awt.Font;05 public class Ex1_5_1 extends Frame implements Runnable 06 Font messageFont;07 String message;08 Color color1, color2, color3;09 public static void main(String args) 10 Ex1_5_1 workStart=new Ex1_5_1();11 范例5 续112 public Ex1_5_1() 13 super(Ex1_5_1);14 setSize(350, 350);15 set
13、Visible(true);16 new Thread(this).start();17 18 public void run() 19 color1 = new Color(212, 255, 0);20 color2 = new Color(0 xd4ff00);21 color3 = new Color(0.83f, 1.0f, 0.0f);22 messageFont = new Font(TimesRoman, Font.PLAIN, 20);23 message = This is a test string;24 repaint();25 范例5 续226 public void
14、 paint(Graphics g) 27 g.setFont(messageFont);28 g.setColor(color1);29 g.drawString(message, 5, 50);30 g.setFont(messageFont);31 g.setColor(color2);32 g.drawString(message, 5, 100);33 g.setFont(messageFont);34 g.setColor(color3);35 g.drawString(message, 5, 150);36 37 范例6:文件Ex1_5_2.java的功能是解释Color类的类常
15、量。 01 import java.awt.*;02 import java.awt.event.*;03 import java.awt.Graphics;04 import java.awt.Font;05 import java.awt.Color;06 public class Ex1_5_2 extends Frame implements Runnable 07 Font messageFont;08 String message;09 public static void main(String args) 10 Ex1_5_2 workStart=new Ex1_5_2();1
16、1 12 public Ex1_5_2() 13 super(Ex1_5_2);14 setSize(350, 350);15 setVisible(true);16 new Thread(this).start();17 范例6 续18 public void run() 19 messageFont = new Font(TimesRoman, Font.PLAIN, 30);20 message = This is a test string;21 repaint();22 23 public void paint(Graphics g) 24 g.setFont(messageFont
17、);25 g.setColor(Color.blue);26 g.drawString(message, 5, 50);27 28 范例6.1:文件Ex1_5_3.java的功能是解释Color类读取颜色值的实例方法,运行时必须配合新对象的实例才可使用。 01 import java.awt.*;02 import java.awt.event.*;03 import java.awt.Graphics;04 import java.awt.Font;05 public class Ex1_5_3 extends Frame implements Runnable 06 Font messag
18、eFont;07 String message;08 Color color;09 public static void main(String args) 10 Ex1_5_3 workStart=new Ex1_5_3();11 范例6.1 续112 public Ex1_5_3() 13 super(Ex1_5_3);14 setSize(350, 350);15 setVisible(true);16 new Thread(this).start();17 18 public void run() 19 color = new Color(212, 255, 0);20 message
19、Font = new Font(TimesRoman, Font.PLAIN, 20);21 message = This is a test string; 范例6.1 续222 System.out.println(getRed() : + color.getRed();23 System.out.println(getGreen() : + color.getGreen();24 System.out.println(getBlue() : + color.getBlue();25 System.out.println(getRGB() : + color.getRGB();26 rep
20、aint();27 28 public void paint(Graphics g) 29 g.setFont(messageFont);30 g.setColor(color);31 g.drawString(message, 5, 50);32 33 1-6 中文处理 在1-4节已经介绍了Font类的功能,其生成的对象可定义字体的格式,构造函数参数name为字体名称,如Batang、Times New Roman楷体等;参数style为字体模式,如BOLD(加粗)、ITALIC(斜体)、PLAIN(标准);参数size为字号,如10、12等。范例7:文件Ex1_6_1.java的功能是解释
21、中文字体的绘制。01 import java.awt.*;02 import java.awt.event.*;03 import java.awt.Graphics;04 import java.awt.Font;05 import java.awt.Color;06 public class Ex1_6_1 extends Frame implements Runnable 07 Font messageFont1;08 Font messageFont2;09 String message;10 public static void main(String args) 11 Ex1_6_
22、1 workStart=new Ex1_6_1();12 范例7 续113 public Ex1_6_1() 14 super(Ex1_6_1);15 setSize(350, 350);16 setVisible(true);17 new Thread(this).start();18 19 public void run() 20 messageFont1 = new Font(宋体, Font.PLAIN, 30);21 messageFont2 = new Font(楷体, Font.PLAIN, 30);22 message = 中文字符串;23 repaint();24 范例7 续
23、225 public void paint(Graphics g) 26 g.setFont(messageFont1);27 g.setColor(Color.blue);28 g.drawString(message, 5, 50);29 g.setFont(messageFont2);30 g.setColor(Color.green);31 g.drawString(message, 5, 100);32 33 范例8:文件Ex1_6_2.java的功能是解释同时设置中文/英文的字体名称或两种字体模式。 01 import java.awt.*;02 import java.awt.e
24、vent.*;03 import java.awt.Graphics;04 import java.awt.Font;05 import java.awt.Color;06 public class Ex1_6_2 extends Frame implements Runnable 07 Font messageFont1, messageFont2, messageFont3, messageFont4;08 String message;09 public static void main(String args) 10 Ex1_6_2 workStart=new Ex1_6_2();11 12 public Ex1_6_2() 13 super(Ex1_6_2);14 setSize(350, 350);范例8 续115 setVisible(true);16 new Thread(this).start();17 18 public void run() 19 messageFont1 = new Font(宋体+TimesRoman, Font.PLAIN, 30);20 messageFont2 = new Font(宋体+Monotype Corsiva, Font.PLAIN, 30);21 mes
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- MT/T 861-2025矿用W型钢带
- 催产素点滴护理的护理管理
- 口腔种植修复护理中的护理科研与学术交流
- 江苏省宿迁市沭阳县重点名校2026届初三语文试题毕业第三次调研测试试卷含解析
- 安徽省亳州市涡阳县2026年初三下学期大联考卷Ⅱ语文试题试卷含解析
- 四川省绵阳宜溪中学心达标名校2026届初三下学期教学质量检查语文试题理试题含解析
- 浙江省杭州市滨江区部分校2026届初三补习班下学期第四次月考物理试题含解析
- 安徽省巢湖市达标名校2026年初三下学期中考适应性月考(八)语文试题含解析
- 2026年山东省枣庄市市中学区重点名校初三下学期期初联考英语试题含解析
- 2026年江西省吉安市名校初三调研试题(二)英语试题含解析
- 2026宁波市跨境电子商务促进中心招聘1人考试备考题库及答案解析
- 2026山东出版集团有限公司招聘193人笔试备考试题及答案解析
- 2026中国电建集团海外投资有限公司财务管理岗位社会招聘1人笔试备考试题及答案解析
- 江苏省镇江市2024-2025学年高三下学期期初质量监测生物试卷(含答案)
- 2026年常州纺织服装职业技术学院单招综合素质考试题库带答案详解(b卷)
- 潍坊宠物行业分析报告
- 时间在哪里(单元测试)2025-2026学年二年级数学下册人教版(含答案)
- 山东省社会团体财务制度
- 海康威视AI布局
- 监护仪无创血压袖带松紧度质控标准
- 2026年安徽单招试题真题及答案1套
评论
0/150
提交评论