版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、PART 01基礎(chǔ)圖文動(dòng)畫chapter 01文字繪制1-1 簡(jiǎn)介1-2 Frame類1-3 線程繪圖流程1-4 Font類1-5 Color類1-6 中文處理1-7 習(xí)題1-1 簡(jiǎn)介 本書探討的是動(dòng)畫游戲,包括文字、圖像和動(dòng)畫,這些都需要一個(gè)環(huán)境來顯示。常用的顯示工具是框架(Frame)與瀏覽器(Browser),前者可用于單機(jī)顯示或多機(jī)網(wǎng)絡(luò)對(duì)陣;后者可用于單機(jī)網(wǎng)絡(luò)顯示,本書將對(duì)它們進(jìn)行詳細(xì)介紹。本章將使用框架來顯示基礎(chǔ)圖文。1-2 Frame 類 java.awt.Frame繼承(extends)自WindowContainerComponentObject,此類對(duì)象可以創(chuàng)建一個(gè)窗口,配合
2、Java程序以提供單機(jī)圖文或多機(jī)網(wǎng)絡(luò)對(duì)陣圖文的顯示。范例1:文件Ex1_2_1.java的功能是解釋窗口框架的創(chuàng)建。 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 線程繪圖流程 在繪圖或游戲應(yīng)用上,發(fā)生事件的區(qū)域范圍不僅廣大,且數(shù)量也多不勝數(shù)。在程
4、序設(shè)計(jì)中,我們必須考慮事件線程同步并行的情況,當(dāng)CPU能力允許時(shí)各線程競(jìng)爭(zhēng)進(jìn)入CPU運(yùn)行,以提高運(yùn)行效率。為了達(dá)到這些要求,我們使用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)自O(shè)bject,此類對(duì)象定義字體的規(guī)格,包括字體名稱(如Times New Roman)、字體模式(如BOLD)和字號(hào)(如10)等。范例3:文件Ex1_4_1.java的功能是解釋如何以Font類來創(chuàng)建字體對(duì)象? 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 續(xù)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類各實(shí)例方法的應(yīng)用? 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 續(xù)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) 自O(shè)bject,為public final Class,此類對(duì)象用于定義顏色值,因是final類別,故不得被繼承使用。范例5:文件Ex1_5_1.java的功能是解釋Color類的構(gòu)造函數(shù)參數(shù)顏色值的設(shè)置。 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 續(xù)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 續(xù)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 續(xù)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類讀取顏色值的實(shí)例方法,運(yùn)行時(shí)必須配合新對(duì)象的實(shí)例才可使用。 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 續(xù)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 續(xù)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節(jié)已經(jīng)介紹了Font類的功能,其生成的對(duì)象可定義字體的格式,構(gòu)造函數(shù)參數(shù)name為字體名稱,如Batang、Times New Roman楷體等;參數(shù)style為字體模式,如BOLD(加粗)、ITALIC(斜體)、PLAIN(標(biāo)準(zhǔn));參數(shù)size為字號(hào),如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 續(xù)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 續(xù)
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的功能是解釋同時(shí)設(shè)置中文/英文的字體名稱或兩種字體模式。 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 續(xù)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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2021年節(jié)能裝備行業(yè)雙良節(jié)能分析報(bào)告
- 《證書培訓(xùn)會(huì)》課件
- 時(shí)間管理的有效技巧和方法計(jì)劃
- 關(guān)注學(xué)生反腐倡廉的思想計(jì)劃
- 陽光下的青春小班時(shí)光計(jì)劃
- 著作權(quán)轉(zhuǎn)讓委托合同三篇
- 副流感病毒篩查方案2024年版
- 2024-2025學(xué)年九年級(jí)上學(xué)期12月份第二次月考檢測(cè)語文試卷答題紙-A4
- 《近場(chǎng)通信技術(shù)介紹》課件
- 2023-2024學(xué)年安徽省宣城市涇縣多校統(tǒng)編版五年級(jí)上冊(cè)期末考試語文試卷(原卷版)-A4
- 行政管理學(xué)的判斷題
- 國(guó)家電網(wǎng)公司電力客戶檔案管理規(guī)定
- 傳感器原理與應(yīng)用課程設(shè)計(jì)報(bào)告磁電式輪速傳感器系統(tǒng)設(shè)計(jì)
- 濟(jì)南市建設(shè)工程竣工測(cè)量技術(shù)規(guī)程
- 語音放大電路的設(shè)計(jì)畢業(yè)論文
- 滑動(dòng)模板施工工法
- 合同履行確認(rèn)單(模板).doc
- 框架結(jié)構(gòu)內(nèi)力計(jì)算-豎向彎矩二次分配,水平D值法講解
- 《初中團(tuán)隊(duì)一體化工作模式的實(shí)踐與研究》
- 工程增項(xiàng)簽證單樣本
- 餐飲消防安全培訓(xùn)(完整版)
評(píng)論
0/150
提交評(píng)論