版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、PART 01基礎(chǔ)圖文動(dòng)畫(huà)chapter 01文字繪制1-1 簡(jiǎn)介1-2 Frame類(lèi)1-3 線程繪圖流程1-4 Font類(lèi)1-5 Color類(lèi)1-6 中文處理1-7 習(xí)題1-1 簡(jiǎn)介 本書(shū)探討的是動(dòng)畫(huà)游戲,包括文字、圖像和動(dòng)畫(huà),這些都需要一個(gè)環(huán)境來(lái)顯示。常用的顯示工具是框架(Frame)與瀏覽器(Browser),前者可用于單機(jī)顯示或多機(jī)網(wǎng)絡(luò)對(duì)陣;后者可用于單機(jī)網(wǎng)絡(luò)顯示,本書(shū)將對(duì)它們進(jìn)行詳細(xì)介紹。本章將使用框架來(lái)顯示基礎(chǔ)圖文。1-2 Frame 類(lèi) java.awt.Frame繼承(extends)自WindowContainerComponentObject,此類(lèi)對(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類(lèi)的使用方法。 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類(lèi)、Runnable接口和Component類(lèi)。線程繪圖流程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 類(lèi) java.awt.Font繼承(extends)自O(shè)bject,此類(lèi)對(duì)象定義字體的規(guī)格,包括字體名稱(如Times New Roman)、字體模式(如BOLD)和字號(hào)(如10)等。范例3:文件Ex1_4_1.java的功能是解釋如何以Font類(lèi)來(lái)創(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類(lèi)各實(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 類(lèi)java.awt.Color繼承(extends) 自O(shè)bject,為public final Class,此類(lèi)對(duì)象用于定義顏色值,因是final類(lèi)別,故不得被繼承使用。范例5:文件Ex1_5_1.java的功能是解釋Color類(lèi)的構(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類(lèi)的類(lèi)常
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類(lèi)讀取顏色值的實(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類(lèi)的功能,其生成的對(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版房產(chǎn)抵押個(gè)人債務(wù)清償與房產(chǎn)抵押權(quán)解除合同3篇
- 2024至2030年中國(guó)冷熱凈水機(jī)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 醫(yī)院安全文化與護(hù)理安全管理
- 2024年裝飾工程合同增補(bǔ)合同樣本版
- 2024招標(biāo)采購(gòu)廉政承諾與責(zé)任追究規(guī)范范本3篇
- 2024版現(xiàn)金保管擔(dān)保書(shū)3篇
- 2024-SSC-考試復(fù)習(xí)測(cè)試題
- 二零二五年度25MW柴油發(fā)電機(jī)電站余熱回收利用合同3篇
- 二零二五年度個(gè)體農(nóng)資店店員勞動(dòng)合同3篇
- 2025年山東建筑安全員-B證(項(xiàng)目經(jīng)理)考試題庫(kù)
- 數(shù)據(jù)交易場(chǎng)所發(fā)展指數(shù)研究報(bào)告(2024年)
- NBT 31021-2012風(fēng)力發(fā)電企業(yè)科技文件規(guī)檔規(guī)范
- 嬰幼兒托育機(jī)構(gòu)安全防護(hù)-整體環(huán)境布局安全隱患識(shí)別與排除策略
- 公安學(xué)基礎(chǔ)智慧樹(shù)知到期末考試答案章節(jié)答案2024年山東警察學(xué)院
- 2024智慧醫(yī)院醫(yī)用耗材SPD供應(yīng)鏈績(jī)效評(píng)價(jià)指南
- DB44-T 2480-2024 鋁及鋁合金深井鑄造安全技術(shù)規(guī)范
- GB/T 15115-2024壓鑄鋁合金
- 中醫(yī)適宜技術(shù)發(fā)展現(xiàn)狀
- 部編人教版四年級(jí)數(shù)學(xué)上冊(cè)期末考試卷(可打印)
- 一例阿爾茨海默病患者的護(hù)理查房
- 農(nóng)貿(mào)市場(chǎng)安全生產(chǎn)工作方案
評(píng)論
0/150
提交評(píng)論