付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年长沙民政职业技术学院辅导员招聘备考题库附答案
- 2024年重庆工商大学马克思主义基本原理概论期末考试题附答案
- 2025安徽公务员考试行测真题(文字版)之数量关系必考题
- 2025年上海外国语大学辅导员考试笔试题库附答案
- 企业绩效考核与激励管理指南
- 2024年湖北第二师范学院辅导员招聘考试真题汇编附答案
- 2024年西安信息职业大学辅导员考试笔试真题汇编附答案
- 2024年邵阳学院辅导员招聘考试真题汇编附答案
- 2024年重庆邮电大学辅导员招聘备考题库附答案
- 2025东北林业大学国际交流学院派遣人才招聘1人(黑龙江)备考题库新版
- 河南豫能控股股份有限公司及所管企业2026届校园招聘127人笔试模拟试题及答案解析
- 未来五年养殖淡水鳙鱼(胖头鱼)企业县域市场拓展与下沉战略分析研究报告
- 2026年宁夏贺兰工业园区管委会工作人员社会化公开招聘备考题库参考答案详解
- 癌痛患者心理支持策略
- 2025年12月份四川成都市第八人民医院编外招聘9人笔试参考题库及答案解析
- 25秋二上语文期末押题卷5套
- 微生物检验质控措施分析
- 达人分销合同范本
- 检修车间定置管理制度(3篇)
- 乘用车内部凸出物法规培训
- 妇科肿瘤保留生育功能治疗策略
评论
0/150
提交评论