Microsoft PowerPoint - ch03

Similar documents
Microsoft PowerPoint - ch02

Microsoft Word - 投影片ch20


java2d-4.PDF

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

Learning Java

chp11.ppt

PowerPoint 簡報

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

JavaIO.PDF

Chapter 9: Objects and Classes

图形学 Project 2 要求 任意两个多边形, 求出其相交的区域 使用说明 例 1 第一步, 与 Project 1 画多边形的方法相同, 画一个多边形 ; 第二步, 单击 INTERSECT WITH, 随后画出第二个多边形 ; 第三步, 单击 FILL 进行填充

2 Java 语 言 程 序 设 计 教 程 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

Microsoft PowerPoint - 14Threads.ppt

Swing-02.pdf

Chapter 9: Objects and Classes

软件工程文档编制

javaexample-02.pdf

chp6.ppt

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

学年度第二学期课程 C 语言程序设计 Java 语言程序设计面向过程编程方法 编程方法学 新疆农业大学计算机与信息工程学院 陈燕红 新疆农业大学计算机与信息工程学院陈燕红

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

<4D F736F F D20AC4FBDBDA4FBB67DA96CAABA2DA743A67EAFC5AAA95FA7B9BD5A5F2E646F63>

ex

PowerPoint 簡報

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

2009年9月全国计算机等级考试二级Java真题及答案

untitled

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

山东建筑大学学分制管理规定(试行)

<4D F736F F F696E74202D20B5DA37D5C2204A617661B5C4CDBCD0CED3EBD3C3BBA7BDE7C3E62E BBCE6C8DDC4A3CABD5D>

電機工程系認可證照清單 /7/1

Chapter 19 視窗架構 (Frame Structures) 前述各章資料均顯示於 Dos ( 或命令提示字元 ) 視窗, 為了操作方便 本章將引導 圖型介面視窗之設計, 以為爾後各章節結合網路串流資訊 設計更為方便的操作介 面 圖型介面 (Graphic User Interface GU

1.5招募说明书(草案)

(6) 要 求 付 款 管 理 员 从 预 订 表 中 查 询 距 预 订 的 会 议 时 间 两 周 内 的 预 定, 根 据 客 户 记 录 给 满 足 条 件 的 客 户 发 送 支 付 余 款 要 求 (7) 支 付 余 款 管 理 员 收 到 客 户 余 款 支 付 的 通 知 后, 检

untitled

95

Microsoft Word 電腦軟體設計.doc

untitled

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

穨_1_.PDF

标题

目 录 一 重 要 提 示... 3 二 公 司 主 要 财 务 数 据 和 股 东 变 化... 3 三 重 要 事 项... 8 四 附 录 / 28

untitled

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit


《大话设计模式》第一章

<4D F736F F D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF>

图形学 Project 1 要求 多边形区域填充 ( 算法不限 ) 使用说明 例 1 第一步, 鼠标随意在界面中的画布上点击两次, 则两点间连一条直线 ; 第二步, 画第三个顶点时, 自动连结成为三角形 ; 第三步, 按顺序依次点击, 则按点击顺序形成多边形, 每次多边形变化时, 第一个点和最后

附 件 :2015 年 度 普 通 高 等 学 校 本 科 专 业 备 案 和 审 批 结 果 教 育 部 2016 年 2 月 16 日 抄 送 : 国 家 发 展 改 革 委 财 政 部 国 家 卫 生 计 生 委 国 家 中 医 药 管 理 局 部 内 发 送 : 有 关 部 领 导, 办 公

EJB-Programming-4-cn.doc

Java

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

<4D F736F F D20B8EAB054BEC7ACECA4A4A4DFB1D0A7F72DB6C0A540B6A95F ADD7A5BFAAA95F2E646F63>

The Embedded computing platform

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

建模与图形思考

BPS6.0 Web服务集成和短流程功能使用手册

untitled


<4D F736F F F696E74202D20B5DA3035D5C220C3E6CFF2B6D4CFF3B8DFBCB6B3CCD0F2C9E8BCC6>

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

<4D F736F F F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

Microsoft Word - 2CA13內文.doc

Microsoft Word - 01.DOC

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

Adobe® Flash® 的 Adobe® ActionScript® 3.0 程式設計

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票

壹 前 言 解 開 2048 的 謎 一 研 究 動 機 最 近 我 們 都 很 熱 衷 於 2048 這 款 遊 戲, 遊 戲 方 法 非 常 簡 單, 但 是 想 要 達 成 2048 卻 很 難, 每 次 只 差 臨 門 一 腳 就 能 達 到 2048, 因 此 都 沒 有 成 功 過 於

Java 1 Java String Date

bingdian001.com

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

(Microsoft Word \252\305\244j\246D\301`\301\277\270q8\251P.doc)

说 : 荀 子 极 偏 驳, 只 一 句 性 恶, 大 本 已 失 5 朱 熹 说 : 荀 扬 不 惟 说 性 不 是, 从 头 到 底 皆 不 识 6 采 取 的 都 是 这 种 理 论 框 架 另 一 种 理 论 框 架 始 于 20 世 纪 前 期, 这 便 是 诸 子 学 研 究 的 框 架

附录J:Eclipse教程

Java的详细介绍

時 間 : 180 分 鐘 四 考 試 特 點 (a) 程 式 易 懂 撰 寫 簡 單, 不 必 經 過 長 時 間 的 課 程 訓 練 (b) 物 件 導 向 的 程 式 設 計, 將 重 點 擺 在 資 料 介 面 的 技 巧 (c)java 有 一 個 很 完 善 且 分 散 式 的 程 式

Microsoft Word - ch04三校.doc

Microsoft PowerPoint - plan08.ppt

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

果 核 桃 瓜 子 等 堅 果 類 或 核 果 類 2. 膽 固 醇 過 高 的 食 物 : 內 臟 ( 腦 肝 腰 子 心 ) 綠 燈 食 物 ( 遵 照 飲 食 計 劃 及 食 物 代 換 表 食 用 )1. 主 食 類 : 推 薦 食 用 全 榖 類 芋 頭 蕃 薯 馬 鈴 薯 等 應 列 入

1.5招募说明书(草案)

目 录 实 验 一 : 熟 悉 Java 开 发 环 境... 1 实 验 二 : 类 与 面 向 对 象... 7 实 验 三 : 继 承 和 多 态 实 验 四 : 异 常 处 理 实 验 五 : 流 文 件 及 基 于 文 本 的 应 用... 23

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

Strings

untitled

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

Microsoft Word - 新1-12.doc

JBuilder Weblogic

全国计算机技术与软件专业技术资格(水平)考试

教学内容 1 2 类和对象 Java 面向对象特性

Microsoft Word - 正文.doc

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4

完 成 1.51 亿 元, 占 预 算 的 113.1%, 同 比 增 长 22.1% 分 县 ( 市 ) 完 成 情 况 : 东 乡 县 0.69 亿 元, 同 比 增 长 24.7%; 积 石 山 县 1.25 亿 元, 同 比 增 长 18.5%; 临 夏 县 1.48 亿 元, 同 比 增

Chapter12 Derived Classes

Transcription:

第三章基礎繪圖 (Basic Graphics) 3 1 簡介 3 2 Graphics Class 3 3 3 直線繪製 3 4 長方形繪製 3 5 橢圓形繪製 3 6 弧線繪製 3 7 多邊形繪製 3 8 圖形剪裁 3 9 圖形複製 3 10 習題 (Exercises) 3 1 簡介 在基礎圖文繪製上, 除了前章所探討的文字繪製之外, 本章將介紹基礎圖形之繪製 類別 Graphics 提供了各類圖形之繪製方法程序, 包括直線繪製 長方形繪製 橢圓形繪製 弧線繪製 多邊形繪製 圖片處理等

3 2 Graphics Class java.awt.graphics 繼承 (extends) 自 Object, 為 abstract public class( 有關抽象類別之用法, 請參考本書系列叢書第一冊基礎入門程式 9 6 節 ), 此類別提供了所有 Java 的繪圖功能 因是抽象類別, 無法借助建構子產生實體新物件直接繪圖, 但可借由類別 Component 之方法程序 paint() 參與繪製 繪製 : public abstract void drawstring(string str, int x, int y) public abstract void drawline(int x1, int y1, int x2, int y2) public abstract void drawrect(int x, int y, int width, int height), (x,y) 左上角座標 3 2 Graphics Class public abstract void fillrect(int x, int y, int width, int height) public abstract void fillrect() 以前景色填入長方型區域內圖形 public abstract void drawoval(int x, int y, int width, int height), (x,y) (xy) 左上角座標 public abstract void filloval(int x, int y, int width, int height) public abstract void filloval() public abstract void drawarc(int x, int y, int width, int height, intstartangle startangle, intarcangle) public abstract void fillarc(int x, int y, int width, int height, int startangle, int arcangle) public abstract void fillarc()

3 2 Graphics Class public abstract void drawpolygon(int[] xpoints, int[] ypoints, int npoints) public abstract bt tvoid fillpolygon(int[] l xpoints, int[] ypoints, int npoints) public abstract void fillpolygon() public abstract void clearrect(int x, int y, int width, int height), 以背景色清除長方型區域內圖形 public abstract void cliprect(int x, int y, int width, int height) public abstract void copyarea(int x, int y, int width, int height, int dx, int dy), 複製圖形到 (x+dx, y+dy) y) ( 左上角 ) 3 2 Graphics Class public abstract void setcolor(color c) public abstract void getcolor() public abstract void setfont(font font) public abstract void getfont()

3 33 直線繪製 依類別 Graphics 之方法程序 public abstract void drawline(int x1, int y1, int x2, int y2) 繪製直線, 其中參數 (x1, y1) 為直線起始點座標,(x2, y2) 為直線終止點座標 範例 9: 設計檔案 Ex3_3.java 其功能為解釋直線繪製 01 import java.awt.*; 02 i tj t t* 02 import java.awt.event.*; 03 import java.awt.graphics; 04 bli l E33 d F i l R bl { 04 public class Ex3_3 extends Frame implements Runnable { 05 public static void main(string args[]) { 06 Ex3_3 workstart=new Ex3_3(); 07 } 08 public Ex3_3() { 09 super("ex3_3"); 10 setsize(350, 350); 11 setvisible(true); 12 new Thread(this).start(); 13 }

14 public void run() { 15 repaint(); 16 } 17 public void paint(graphics g) { 18 g.drawline(50,50,120,100); 19 g.drawline(10,250,50,200); 20 g.drawline(50,200,120,270); 21 g.drawline(120,270,200,160); 22 } 23 } 範例 9 續

3 4 長方形繪製 依類別 Graphics 之方法程序 public abstract void drawrect(int x, int y, int width, int height) 繪製長方形, 其中參數 (x, y) 為長方形左上角之座標,width 為長方形之寬距,height 為長方形之高距 範例 10: 設計檔案 Ex3_4.java 其功能為解釋長方形繪製 01 import java.awt.*; 02 import java.awt.event.*; 03 import java.awt.graphics; 04 public class Ex3_4 extends Frame implements Runnable { 05 public static void main(string args[]) { 06 Ex3_4 workstart=new Ex3_4(); 07 } 08 public Ex3_4() { 09 super("ex3_4"); 10 setsize(350, 350); 11 setvisible(true); 12 new Thread(this).start(); 13 }

14 public void run() { 15 repaint(); 16 } 17 public void paint(graphics g) { 18 g.drawrect(90,50,150,100); 19 g.fillrect(90,200,150,100); 20 } 21 } 範例 10 續

3 5 橢圓形繪製 依類別 Graphics 之方法程序 public abstract void drawoval(int x, int y, int width, int height) 繪製橢圓形, 其中參數 (x, y) 為橢圓形長方形框左上角之座標,width 為橢圓形之寬距,height 為橢圓形之高距 範例 11: 設計檔案 Ex3_5.java 其功能為解釋橢圓形繪製 01 import java.awt.*; 02 import java.awt.event.*; 03 import java.awt.graphics; 04 public class Ex3_5 extends Frame implements Runnable { 05 public static void main(string args[]) { 06 Ex3_5 workstart=new Ex3_5(); 07 } 08 public Ex3_5() { 09 super("ex3_5"); 10 setsize(350, 350); 11 setvisible(true); 12 new Thread(this).start(); 13 }

14 public void run() { 15 repaint(); 16 } 17 public void paint(graphics g) { 18 g.drawoval(35,65,100,60); 19 g.drawoval(170,65,100,60); 20 g.drawrect(170,65,100,60); 21 g.filloval(35,200,100,60); 22 } 23 } 範例 11 續

3 6 弧線繪製 依類別 Graphics 之方法程序 public abstract void drawarc(int x, int y, int width, int height, int startangle, int arcangle) 繪製弧線, 其中參數 (x, y) 比照長方形左上角座標,width 為橢圓形之寬距, height 為橢圓形之高距,startAngle 為弧線起始角度,arcAngle 為截取橢圓形邊緣之角度 範例 12: 設計檔案 Ex3_6.java 其功能為解釋弧形繪製 01 import java.awt.*; 02 import java.awt.event.*; 03 import java.awt.graphics; 04 public class Ex3_6 extends Frame implements Runnable { 05 public static void main(string args[]) { 06 Ex3_6 workstart=new Ex3_6(); 07 } 08 public Ex3_6() { 09 super("ex3_6"); 10 setsize(350, 350); 11 setvisible(true); 12 new Thread(this).start(); 13 }

14 public void run() { 15 repaint(); 16 } 17 public void paint(graphics g) { 18 g.drawarc(35,65,100,60,10,90); 19 g.drawarc(170,65,100,60,10,90); 20 g.drawrect(170,65,100,60); 21 g.fillarc(35,200,100,60,10,90); 22 } 23 } 範例 12 續

3 7 多邊形繪製 依類別 Graphics 之方法程序 public abstract void drawpolygon(int[] xpoints, int[] ypoints, int npoints) 繪製多邊形, 其中參數 xpoints 為各點之 x 軸座標 ypoints 為各點之 y 軸座標 npoint 為多邊形點的數量 範例 13: 設計檔案 Ex3_7.java 其功能為解釋多邊形繪製 01 import java.awt.*; 02 import java.awt.event.*; 03 import java.awt.graphics; 04 public class Ex3_ 7 extends Frame implements Runnable { 05 int[] pgx = {90,130,180,230,180,130,90}; 06 int[] pgy = {100,60,60,100,150,150,100}; 07 int pgn= 7; 08 int[] fpgx = {90,130,180,230,180,130,90}; 09 int[] fpgy = {250,210,210,250,300,300,250}; 10 int fpgn = 7; 11 public static void main(string args[]) { 12 Ex3_7 workstart=new Ex3_7(); 13 }

14 public Ex3_7() { 15 super("ex3 Ex3_7 7"); 16 setsize(350, 350); 17 setvisible(true); 18 new Thread(this).start(); 19 } 20 public void run() { 21 repaint(); 22 } 23 public void paint(graphics g) { 24 g.drawpolygon(pgx, pgy, pgn); 25 g.fillpolygon(fpgx, fpgy, fpgn); 26 } 27 } 範例 13 續

3 8 圖形剪裁 依類別 Graphics 之方法程序 public abstract void cliprect(int x, int y, int width, int height) 裁取長方形區域內之圖形, 其中參數 (x, y) 為長方形左上角之座標,width 為長方形之寬距,height 為長方形之高距 範例 14: 參考範例 13, 設計檔案 Ex3_8.java 其功能為解釋圖形剪裁 01 import java.awt.*; 02 import java.awt.event.*; 03 import java.awt.graphics; p j p 04 public class Ex3_8 extends Frame implements Runnable { 05 int[] pgx= {90,130,180,230,180,130,90}; [] pg {,,,,,, }; 06 int[] pgy = {100,60,60,100,150,150,100}; 07 int pgn = 7; 08 int[] fpgx = {90,130,180,230,180,130,90}; 09 int[] fpgy = {250,210,210,250,300,300,250}; 10 int fpgn = 7; 10 int fpgn 7; 11 public static void main(string args[]) { 12 Ex3 8 workstart=new Ex3 8(); 12 Ex3_8 workstart=new Ex3_8(); 13 }

14 public Ex3_8() { 15 super("ex3_8"); 16 setsize(350, 350); 17 setvisible(true); 18 new Thread(this).start(); 19 } 20 public void run() { 21 repaint(); 22 } 23 public void paint(graphics g) { 24 g.drawrect(100,80,120,50); 25 g.drawpolygon(pgx, pgy, pgn); 26 g.cliprect(100,230,120,50); 120 27 g.fillpolygon(fpgx, fpgy, fpgn); 28 } 29 } 範例 14 續

3 9 圖形複製 依類別 Graphics 之方法程序 public abstract void copyarea(int x, int y, int width, int height, int dx, int dy) 複製長方形區域內之圖形到 (x+dx, y+dy), 其中參數 (x, y) 為原長方形左上角之座標,(x+dx, y+dy) 為複製長方形左上角之座標,width 為長方形之寬距,height 為長方形之高距 範例 15: 參考範例 11, 設計檔案 Ex3_9.java 其功能為解釋圖形複製 01 import java.awt.*; 02 import java.awt.event.*; 03 import java awt Graphics; 03 import java.awt.graphics; 04 public class Ex3_9 extends Frame implements Runnable { 05 public static void main(string args[]) { 05 public static void main(string args[]) { 06 Ex3_9 workstart=new Ex3_9(); 07 } 08 public Ex3_9() { 09 super("ex3_9"); 10 tsi (350 350) 10 setsize(350, 350); 11 setvisible(true); 12 Th d(thi ) t t() 12 new Thread(this).start(); 13 }

14 public void run() { 15 repaint(); 16 } 17 public void paint(graphics g) { 18 g.drawoval(35,65,100,60); 19 g.drawoval(170,65,100,60); 20 g.drawrect(170,65,100,60); 21 g.filloval(35,200,100,60); 22 g.copyarea(35,200,100,60,135,0); 23 } 24 } 範例 15 續

3 10 習題 (Exercises) 01 Graphics Class 之功能為何? 02 Graphics Class 因是抽象類別, 無法產生實體物件直接繪圖, 但又如何繪製? 03 drawstring(string str, int x, int y) 繪製字串, 其中參數之意為何? 04 drawline(int x1, int y1, int x2, int y2) 繪製直線, 其中參數之意為何? 05 drawrect(int x, int y, int width, int height) 繪製長方形, 其中參數之意為何? 06 drawoval(int x, int y, int width, int height) 繪製橢圓形, 其中參數之意為何? 07 drawarc(int x, int y, int width, int height, int startangle, int arcangle) 繪製弧線, 其中參數之意為何? 08 drawpolygon(int[] xpoints, int[] ypoints, int npoints) 繪製多邊形, 其中參數之意為何? 09 clearrect(int x, int y, int width, int height) 以背景色清除長方形區域內之圖形, 其中參數之意為何? 10 cliprect(int x, int y, int width, int height) 裁取長方形區域內之圖形, 其中參數之意為何? 11 copyarea(int x, int y, int width, int height, int dx, int dy) 複製長方形區域內之圖形到 (x+dx, y+dy), y) 其中參數之意為何?