Submit Search
Java-Chapter 14 Creating Graphics with DWindow
2 likes
•
3,186 views
Wongyos Keardsri
Chapter 14 Creating Graphics with DWindow
Read more
1 of 16
Download now
Downloaded 205 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
More Related Content
PDF
Java-Chapter 02 Data Operations and Processing
Wongyos Keardsri
PDF
Java-Chapter 01 Introduction to Java Programming
Wongyos Keardsri
PDF
Generics and collections in Java
Gurpreet singh
PDF
Tampil data di tabel dg Java & netbeans
casnadi
PPTX
Java 8 Lambda and Streams
Venkata Naga Ravi
PDF
ภาษาซีเบื้องต้น
สมใจ สีดาจันทร์
PDF
Java Collections | Collections Framework in Java | Java Tutorial For Beginner...
Edureka!
PDF
Present.อาหารโรคไตcapd
ธัญญชล พงษ์อิ่ม
Java-Chapter 02 Data Operations and Processing
Wongyos Keardsri
Java-Chapter 01 Introduction to Java Programming
Wongyos Keardsri
Generics and collections in Java
Gurpreet singh
Tampil data di tabel dg Java & netbeans
casnadi
Java 8 Lambda and Streams
Venkata Naga Ravi
ภาษาซีเบื้องต้น
สมใจ สีดาจันทร์
Java Collections | Collections Framework in Java | Java Tutorial For Beginner...
Edureka!
Present.อาหารโรคไตcapd
ธัญญชล พงษ์อิ่ม
What's hot
(9)
PPTX
JDBC - JPA - Spring Data
Arturs Drozdovs
PDF
Java-Chapter 12 Classes and Objects
Wongyos Keardsri
DOCX
Inline function(oops)
Jay Patel
PPTX
Java 8 - Features Overview
Sergii Stets
PPTX
การออกกำลังกายในผู้ป่วยโรคไตเรื้อรัง
CAPD AngThong
PDF
การผ่าตัดเปลี่ยนข้อสะโพกเทียม.pdf
FaiSurkumron1
PDF
คู่มืองดเหล้าเข้าพรรษา
tawatchai2523
PDF
โครงงาน ระดับ ปวช. วิทยาลัยอาชีวศึกษาขอนแก่น
kvcthidarat
PDF
Java 8 Lambda Expressions
Scott Leberknight
JDBC - JPA - Spring Data
Arturs Drozdovs
Java-Chapter 12 Classes and Objects
Wongyos Keardsri
Inline function(oops)
Jay Patel
Java 8 - Features Overview
Sergii Stets
การออกกำลังกายในผู้ป่วยโรคไตเรื้อรัง
CAPD AngThong
การผ่าตัดเปลี่ยนข้อสะโพกเทียม.pdf
FaiSurkumron1
คู่มืองดเหล้าเข้าพรรษา
tawatchai2523
โครงงาน ระดับ ปวช. วิทยาลัยอาชีวศึกษาขอนแก่น
kvcthidarat
Java 8 Lambda Expressions
Scott Leberknight
Ad
Viewers also liked
(8)
PDF
Java-Chapter 06 File Operations
Wongyos Keardsri
PDF
Java-Chapter 09 Advanced Statements and Applications
Wongyos Keardsri
PDF
Java-Chapter 08 Methods
Wongyos Keardsri
PDF
Java-Chapter 05 String Operations
Wongyos Keardsri
PDF
2D Graphics and Animations in Java World
kunemata
PDF
รูปเล่มวิชาโครงงาน
AjBenny Pong
PPT
สร้างพื้นหลังกราฟฟิกอย่างง่ายด้วย Photoshop
Siwaphon
PDF
รู้จักโปรแกรม Adobe Photoshop CS6
Khon Kaen University
Java-Chapter 06 File Operations
Wongyos Keardsri
Java-Chapter 09 Advanced Statements and Applications
Wongyos Keardsri
Java-Chapter 08 Methods
Wongyos Keardsri
Java-Chapter 05 String Operations
Wongyos Keardsri
2D Graphics and Animations in Java World
kunemata
รูปเล่มวิชาโครงงาน
AjBenny Pong
สร้างพื้นหลังกราฟฟิกอย่างง่ายด้วย Photoshop
Siwaphon
รู้จักโปรแกรม Adobe Photoshop CS6
Khon Kaen University
Ad
More from Wongyos Keardsri
(20)
PDF
How to Study and Research in Computer-related Master Program
Wongyos Keardsri
PPT
The next generation intelligent transport systems: standards and applications
Wongyos Keardsri
PPT
IP address anonymization
Wongyos Keardsri
PDF
SysProg-Tutor 03 Unix Shell Script Programming
Wongyos Keardsri
PDF
SysProg-Tutor 02 Introduction to Unix Operating System
Wongyos Keardsri
PDF
SysProg-Tutor 01 Introduction to C Programming Language
Wongyos Keardsri
PDF
Discrete-Chapter 11 Graphs Part III
Wongyos Keardsri
PDF
Discrete-Chapter 11 Graphs Part II
Wongyos Keardsri
PDF
Discrete-Chapter 11 Graphs Part I
Wongyos Keardsri
PDF
Discrete-Chapter 10 Trees
Wongyos Keardsri
PDF
Discrete-Chapter 09 Algorithms
Wongyos Keardsri
PDF
Discrete-Chapter 08 Relations
Wongyos Keardsri
PDF
Discrete-Chapter 07 Probability
Wongyos Keardsri
PDF
Discrete-Chapter 06 Counting
Wongyos Keardsri
PDF
Discrete-Chapter 05 Inference and Proofs
Wongyos Keardsri
PDF
Discrete-Chapter 04 Logic Part II
Wongyos Keardsri
PDF
Discrete-Chapter 04 Logic Part I
Wongyos Keardsri
PDF
Discrete-Chapter 03 Matrices
Wongyos Keardsri
PDF
Discrete-Chapter 02 Functions and Sequences
Wongyos Keardsri
PDF
Discrete-Chapter 01 Sets
Wongyos Keardsri
How to Study and Research in Computer-related Master Program
Wongyos Keardsri
The next generation intelligent transport systems: standards and applications
Wongyos Keardsri
IP address anonymization
Wongyos Keardsri
SysProg-Tutor 03 Unix Shell Script Programming
Wongyos Keardsri
SysProg-Tutor 02 Introduction to Unix Operating System
Wongyos Keardsri
SysProg-Tutor 01 Introduction to C Programming Language
Wongyos Keardsri
Discrete-Chapter 11 Graphs Part III
Wongyos Keardsri
Discrete-Chapter 11 Graphs Part II
Wongyos Keardsri
Discrete-Chapter 11 Graphs Part I
Wongyos Keardsri
Discrete-Chapter 10 Trees
Wongyos Keardsri
Discrete-Chapter 09 Algorithms
Wongyos Keardsri
Discrete-Chapter 08 Relations
Wongyos Keardsri
Discrete-Chapter 07 Probability
Wongyos Keardsri
Discrete-Chapter 06 Counting
Wongyos Keardsri
Discrete-Chapter 05 Inference and Proofs
Wongyos Keardsri
Discrete-Chapter 04 Logic Part II
Wongyos Keardsri
Discrete-Chapter 04 Logic Part I
Wongyos Keardsri
Discrete-Chapter 03 Matrices
Wongyos Keardsri
Discrete-Chapter 02 Functions and Sequences
Wongyos Keardsri
Discrete-Chapter 01 Sets
Wongyos Keardsri
Java-Chapter 14 Creating Graphics with DWindow
1.
ANSWER : Creating
Graphics with DWindow - 14 Computer Programming using Java 211 CHAPTER การสร้างกราฟกด้วยดีวินโดว์ ิ 14 (Creating Graphics with DWindow) 1. ความร้ ูเบืองต้ นเกี่ยวกับดีวนโดว์ (Introduction to DWindow) ้ ิ 1. ลักษณะของดีวินโดว์ 1) ดีวินโดว์ (DWindow) เป็ นคลาสคลาสหนึ่งในซอฟต์แวร์ เจแลป (JLab) ที่สร้ างขึ ้นเพื่อใช้ อํานวยความสะ- ดวกในการประมวลผลทางด้ านกราฟิ กของภาษาจาวา 2) ดีวินโดว์ถกพัฒนาโดย รศ.ดร.สมชาย ประสิทธิ์จูตระกูล ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรม- ู ศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย ซึงเป็ นคนเดียวกับผู้ที่พฒนาเจแลป ่ ั 3) ดีวินโดว์ใช้ งานได้ เฉพาะในเจแลปเท่านัน ไม่สามารถใช้ งานร่วมกับซอฟต์แวร์ อื่นๆ ได้ ้ 4) ตัวอย่างการทํางานของดีวินโดว์ เช่น ลากเส้ นตรง วาดสี่เหลี่ยม วาดวงรี อ่านภาพจากแฟ้ มภาพมาแสดง บนวินโดว์ ขอแผนที่จดภาพของภาพที่ปรากฏบนวินโดว์ไปประมวลผล เป็ นต้ น ุ 2. การเรียกใช้ งานดีวินโดว์ 1) ก่อนเรี ยกใช้ งานดีวินโดว์ ให้ นําเข้ าคลาส DWindow โดยใช้ คําสัง import ่ jlab.graphics.DWindow; ไว้ ที่หวคลาสที่จะประมวลผลเสมอ ดังตัวอย่างต่อไปนี ้ ั 1 import jlab.graphics.DWindow; 2 ... 3 public class TestDWindow { 4 public static void main(String [] args) { 5 ... 6 } 7 } 2) ทําการสร้ างดีวินโดว์โดยการ new (เหมือนการ new อ๊ อบเจ็คทัวไป) ่ 1 import jlab.graphics.DWindow; 2 public class TestDWindow { 3 public static void main(String [] args) { 4 DWindow w = new DWindow(…); 5 } 6 } 3) มุมบนสุดทางซ้ ายของวินโดว์มีพิกด (x, y) เป็ น (0, 0) โดยที่คาพิกด x จะเพิ่มขึ ้นเมื่อไปทางขวา ในขณะที่ ั ่ ั ค่าพิกด y จะเพิ่มขึ ้นเมื่อลงด้ านล่าง ั DWindow x พิกด (0, 0) ั y © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
2.
212
Computer Programming using Java 14 - Creating Graphics with DWindow : ANSWER 2. รายละเอียดของคลาสดีวนโดว์ (DWindow Class) ิ (อ้างอิ งจากหนังสือ“เริ่ มเรี ยนเขี ยนโปรแกรม: ฉบับวาจาจาวา” แต่งโดย รศ.ดร.สมชาย ประสิ ทธิ์ จูตระกล, 2552) ู 1. ตัวแปรประจําคลาส (Class Variables) รายละเอียดของตัวแปร คําอธิบาย static int BLACK ค่า RGB ของสีดํา static int BLUE ค่า RGB ของสีนํ ้าเงิน static int BROWN ค่า RGB ของสีนํ ้าตาล static int CYAN ค่า RGB ของสีฟา ้ static int GRAY ค่า RGB ของสีเทา static int GREEN ค่า RGB ของสีเขียว static int MAGENTA ค่า RGB ของสีมวงแดง ่ static int ORANGE ค่า RGB ของสีส้ม static int PINK ค่า RGB ของสีชมพู static int PURPLE ค่า RGB ของสีมวงอ่อน ่ static int RED ค่า RGB ของสีแดง static int SILVER ค่า RGB ของสีเงิน static int VIOLET ค่า RGB ของสีมวง ่ static int WHITE ค่า RGB ของสีขาว static int YELLOW ค่า RGB ของสีเหลือง 2. ตัวสร้ าง (Constructors) รายละเอียดของตัวสร้ าง และคําอธิบาย DWindow() . ตัวสร้ างวินโดว์ที่มีขนาด 200 x 200 DWindow(double width, double height) . ตัวสร้ างวินโดว์ที่มีขนาด width x height 3. เมท็อด (Methods) รายละเอียดของเมท็อด และคําอธิบาย void clearBackground(). ล้ างภาพที่ปรากฏบนวินโดว์ออกให้ หมด แล้ วแสดงสีพื ้นหลังที่ได้ ตงไว้ ั้ void draw(DImage img, double xc, double yc) . วาดรูปภาพ © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
3.
ANSWER : Creating
Graphics with DWindow - 14 Computer Programming using Java 213 รายละเอียดของเมท็อด และคําอธิบาย void drawEllipse(double xc, double yc, double w, double h) . วาดเส้ นขอบของวงรี void drawEllipse(int c, double xc, double yc, double w, double h) . วาดเส้ นขอบของวงรี แบบระบุสี void drawLine(double x1, double y1, double x2, double y2) . ลากเส้ นตรงบนวินโดว์ void drawLine(int c, double x1, double y1, double x2, double y2) . ลากเส้ นตรงบนวินโดว์ แบบระบุสี void drawRect(double x, double y, double w, double h) . วาดเส้ นขอบของสี่เหลี่ยมผืนผ้ า void drawRect(int c, double x, double y, double w, double h) . วาดเส้ นขอบของสี่เหลี่ยมผืนผ้ า แบบระบุสี void drawString(String s, double size, double x, double y) . แสดงสตริงบนวินโดว์ void drawString(int c, String s, double size, double x, double y) . แสดงสตริงบนวินโดว์ แบบระบุสี void fade(double level) . ทําทุกจุดภาพบนวินโดว์ในจางลง void fillEllipse(double xc, double yc, double w, double h) . วาดวงรี ทบ ึ void fillEllipse(int c, double xc, double yc, double w, double h) . วาดวงรี ทบ แบบระบุสี ึ void fillRect(double x, double y, double w, double h) . วาดสี่เหลี่ยมผืนผ้ าทึบ void fillRect(int c, double x, double y, double w, double h) . วาดสี่เหลี่ยมผืนผ้ าทึบ แบบระบุสี static int getB(int c) . คืนค่าของแม่สีนํ ้าเงินของสี c มีคาระหว่าง 0 ถึง 255 ่ static int getG(int c) . คืนค่าของแม่สีเขียวของสี c มีคาระหว่าง 0 ถึง 255 ่ © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
4.
214
Computer Programming using Java 14 - Creating Graphics with DWindow : ANSWER รายละเอียดของเมท็อด และคําอธิบาย int getHeight(). คืนความสูงของวินโดว์ DPoint getMouse(). คืนพิกดของตัวชี ้เมาส์บนวินโดว์ ั int[][] getPixmap(). คืนแผนที่จดภาพของวินโดว์ ุ static int getR(int c) . คืนค่าของแม่สีแดงของสี c มีคาระหว่าง 0 ถึง 255 ่ int getWidth(). คืนความกว้ างของวินโดว์ void loadImage(String fileName) . อ่านแฟมภาพมาแสดงบนวินโดว์ ปรับขนาดวินโดว์ตามขนาดภาพ ้ void loadImage(String fileName, double w, double h) . อ่านแฟมภาพมาแสดงบนวินโดว์ ปรับขนาดของภาพและวินโดว์ให้ เป็ น wxh ้ static int mixRGB(double r, double g, double b) . คืนค่าสีที่ได้ จากการผสมแม่สีแดง เขียว นํ ้าเงิน static int mixRGB(double a, double r, double g, double b) . คืนค่าสีที่ได้ จากการผสมแม่สีแดง เขียว นํ ้าเงิน และค่าอัลฟา void onMouseDragged(DPoint p) . ระบบเรี ยกเมท็อดนี ้ให้ อตโนมัตเิ มื่อมีการลากเมาส์บนวินโดว์นี ้ ั void onMouseMoved(DPoint p) . ระบบเรี ยกเมท็อดนี ้ให้ อตโนมัตเิ มื่อมีการเลื่อนเมาส์บนวินโดว์นี ้. ั static int randomColor(). คืนค่าสีสมๆ ุ่ void saveImage(String fileName) . บันทึกภาพบนวินโดว์ลงในแฟ้ มภาพ void setBackground(int c) . ตังสีพื ้นหลังของวินโดว์ ้ void setForeground(int c) . ตังสีที่ใช้ ในการวาดบนวินโดว์ ้ © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
5.
ANSWER : Creating
Graphics with DWindow - 14 Computer Programming using Java 215 รายละเอียดของเมท็อด และคําอธิบาย void setPixmap(int[][] p) . แสดงภาพใหม่บนวินโดว์ตามแผนที่จดภาพ p ที่ได้ รับ ุ void setRepaintDuringSleep(boolean enable) . ตังให้ วนโดว์แสดงภาพขณะ sleep หรื อไม่ ้ ิ void setSize(int width, int height) . ตังขนาดของวินโดว์ ้ void sleep(long millis) . สังให้ หยุดการทํางานชัวขณะ ่ ่ DPoint waitForMouseClicked(). รอจนกว่าจะมีการคลิกเมาส์ โจทย์ ข้อที่ 1 [ระดับปานกลาง] จงเขียนโปรแกรมภาษาจาวาให้ สมบรณ์ เพื่อใช้ คลาส DWindow สร้ างวิน- ู โดว์ ขนาด 300 x 200 ซึ่งภายในมีลูกบอลหนึ่งลกสีแดงที่มีรั ศมี 25 Pixels โดยมีจุดเริ่มต้ นที่จุดตรงกลาง ู ของวินโดว์ พร้ อมทังให้ ลูกบอลเด้ งตามกรอบของวินโดว์ ไปเรื่ อยๆ โดยไปทางแกน x ครั งละ 2 Pixels ้ ้ และไปทางแกน y ครั งละ 1 Pixels และกําหนดให้ ค่า fade เป็ น 0.5 และในการเปลี่ยนตําแหน่ งหรื อ ้ เคลื่อนที่แต่ ละครังจะให้ มีการหลับ (Sleep) ครังละ 10 msec โดยโปรแกรมจะทํางานไปเรื่ อยๆ จนกว่ าจะ ้ ้ หยุดโปรแกรม (15 คะแนน) import jlab.graphics.DWindow; public class TestBall { public static void main(String[] args) { //สร้ างวินโดว์ ขนาด 300 x 200 //กําหนดให้ ตวแปร x และ y เก็บตําแหน่ งกึ่งกลางของวินโดว์ และให้ ตวแปร r เก็บค่ ารัศมีของลกบอล ั ั ู //กําหนดให้ ตวแปร dx และ dy มีค่าเท่ ากับจํานวน Pixels ที่จะเคลื่อนเปลี่ยนตําแหน่ งต่ อหนึ่งครัง ั ้ ในแกน x และแกน y ตามลําดับ © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
6.
216
Computer Programming using Java 14 - Creating Graphics with DWindow : ANSWER while (true) { //กําหนดค่ า fade เป็ น 0.5 //สร้ างลกบอลหนึ่งลกตามข้ อกําหนดข้ างต้ น ู ู //คําสั่งในการเปลี่ยนตําแหน่ งของลกบอล (ลกบอลเคลื่ อนที่) โดยจะต้ องมีการตรวจสอบว่ าลก ู ู ู บอลชนผนังของวินโดว์ หรื อไม่ ถ้ าชนให้ มีการเด้ งกลับเสมอ //คําสั่งหลับ 10 msec เพื่อให้ กับทํางานหยุดชั่วขณะ } //End of while } //End of main } //End of class โจทย์ ข้อที่ 2 [ระดับยาก] จงเขียนโปรแกรมภาษาจาวาให้ สมบรณ์ เพื่อใช้ คลาส DWindow สร้ างวินโดว์ ขนาด 250 x ู 200 ซึ่งภายในมีลูกบอล 50 ลกแบบหลากสี (สุ่ มเลือกสี) ที่มี ู รั ศมี 5 Pixels โดยทุกลกจะมีจุดเริ่ มต้ นที่จุดตรงกลางของ ู วินโดว์ และลกบอลทุกลกจะเด้ งตามกรอบของวินโดว์ โดย ู ู เคลื่อนที่ไปตามแกน x และแกน y แบบสุ่ม ซึ่งกําหนดให้ ค่า fade เป็ น 0.3 และในการเคลื่อนที่แต่ ละครั งจะให้ มีการ ้ หลับ (Sleep) ครั งละ 20 msec โดยโปรแกรมจะทํางานไป ้ เรื่อยๆ จนกว่ าจะหยุดโปรแกรม (20 คะแนน) © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
7.
ANSWER : Creating
Graphics with DWindow - 14 Computer Programming using Java 217 import jlab.graphics.DWindow; public class TestMultiBalls { public static void main(String[] args) { //สร้ างวินโดว์ ขนาด 250 x 200 //กําหนดให้ อาเรย์ x และ y เก็บตําแหน่ งกึ่งกลางวินโดว์ ของลกบอลแต่ ละลก ู ู //กําหนดให้ อาเรย์ r เก็บรัศมีของลกบอลแต่ ละลก ู ู //กําหนดให้ อาเรย์ dx และ dy เก็บค่ า Pixel ที่ใช้ ในการเคลื่อนที่ของลกบอลแต่ ละลก โดยใช้ การ ู ู สุ่มตัวเลขระหว่ าง -4 ถึง 4 //กําหนดให้ อาเรย์ c เก็บค่ าสีของลกบอลแต่ ละลกโดยการสุ่มแม่ สีขึนมาแล้ วผสมให้ เป็ นสีเดียวกัน ู ู ้ while (true) { //กําหนดค่ า fade เป็ น 0.3 //สร้ างลกบอล 50 ลก พร้ อมทังกําหนดค่ าต่ างๆ ข้ างต้ นให้ กับลกบอลแต่ ละลก และให้ ลูกบอล ู ู ้ ู ู เคลื่อนที่ไปตามแนวแกน x และ y ตามค่ า dx และ dy ของลกบอลแต่ ละลก ู ู © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
8.
218
Computer Programming using Java 14 - Creating Graphics with DWindow : ANSWER //คําสั่งหลับ 20 msec เพื่อให้ กับทํางานหยุดชั่วขณะ } //End of while } //End of main } //End of class โจทย์ ข้อที่ 3 [ระดับยาก] จงเขียนโปรแกรมภาษาจาวาให้ สมบรณ์ เพื่อสร้ างคลาส Flag ที่ไว้ สําหรั บสร้ าง ู ธงชาติของประเทศต่ างๆ และคลาส NationalFlag เพื่อเรี ยกใช้ งานคลาส Flag ซึ่งมีรายละเอียดดังต่ อ ไปนี ้ (25 คะแนน) คลาส Flag (15 คะแนน) 1) แอตทริบวประจําอ๊ อบเจ็คแบบ private ชนิด DWindow ชื่อ w ิ 2) ตัวสร้ างแบบไม่ มีพารามิเตอร์ เพื่อกําหนดค่ าวินโดว์ ให้ มีขนาด 200 x 150 3) ตัวสร้ างแบบ 2 พารามิเตอร์ ท่ เป็ นจํานวนจริง เพื่อกําหนดค่ าวินโดว์ ให้ มีขนาดตามที่ระบุ ี 4) ตัวสร้ างแบบ 1 พารามิเตอร์ ท่ เป็ นชนิด DWindow เพื่อกําหนดค่ าวินโดว์ ให้ เท่ ากับ DWindow ที่ระบุ ี 5) เมท็อดประจําอ๊ อบเจ็คแบบ public void ชื่อ thailand(…) เพื่อแสดงธงชาติไทยขึนบนวินโดว์ ้ 6) เมท็อดประจําอ๊ อบเจ็คแบบ public void ชื่อ japan(…) เพื่อแสดงธงชาติญ่ ีปุ่นขึนบนวินโดว์ ้ 7) เมท็อดประจําอ๊ อบเจ็คแบบ public void ชื่อ germany(…) เพื่อแสดงธงชาติเยอรมันขึนบนวินโดว์ ้ 8) เมท็อดประจําอ๊ อบเจ็คแบบ public void ชื่อ france(…) เพื่อแสดงธงชาติฝรั่ งเศสขึนบนวินโดว์ ้ 9) เมท็อดประจําอ๊ อบเจ็คแบบ public void ชื่อ italy(…) เพื่อแสดงธงชาติอตาลีขึนบนวินโดว์ ิ ้ 10) เมท็อดประจําอ๊ อบเจ็คแบบ public void ชื่อ danmark(…) เพื่อแสดงธงชาติเดนมาร์ กขึนบนวินโดว์ ้ 11) เมท็อดประจําอ๊ อบเจ็คแบบ public void ชื่อ unitedarab(…) เพื่อแสดงธงชาติสหรั ฐอาหรั บเอมิ เรตส์ ขึนบนวินโดว์ ้ คลาส NationalFlag (10 คะแนน) © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
9.
ANSWER : Creating
Graphics with DWindow - 14 Computer Programming using Java 219 1) เมท็อด main(…) ที่สร้ างอาเรย์ ของอ๊ อบเจ็คชนิด Flag ใช้ แทนธงชาติของแต่ ละประเทศ ที่ประกอบ ไปด้ วย 7 ประเทศที่กล่ าวมา โดยมีขนาดของวินโดว์ เป็ น 150 x 90 พร้ อมกําหนดให้ แต่ ละอ๊ อบเจ็ค แสดงภาพธงชาติของแต่ ละประเทศขึนบนวินโดว์ ้ //คลาส Flag © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
10.
220
Computer Programming using Java 14 - Creating Graphics with DWindow : ANSWER //คลาส NationalFlag © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
11.
ANSWER : Creating
Graphics with DWindow - 14 Computer Programming using Java 221 โจทย์ ข้อที่ 4 [ระดับยาก] จงเขียนโปรแกรมภาษาจาวาให้ สมบรณ์ เพื่อสร้ างคลาส TrafficSign ที่แทน ู ปายสัญญาณจราจร และคลาส TestTrafficSign เพื่อเรี ยกใช้ งานคลาส TrafficSign ซึ่งมีรายละ ้ เอียดดังต่ อไปนี ้ (20 คะแนน) 1) คลาส TrafficSign มีรายละเอียดดังต่ อไปนี ้ (15 คะแนน) import jlab.graphics.DWindow; public class TrafficSign { //แอตทริบวประจําอ๊ อบเจ็คแบบ private ชนิด DWindow ชื่อ w ิ //ตัวสร้ างแบบไม่ มีพารามิเตอร์ เพื่อกําหนดให้ วินโดว์ มีขนาดเป็ น 100 x 200 และมีสีพืนหลังเป็ นสีดา ้ ํ //เมท็อดประจําอ๊ อบเจ็คแบบ public void ชื่อ showRed(…) เพื่อแสดงสัญญาณไฟแดงขึนบนวินโดว์ ้ และปรับสัญญาณไฟอื่นๆ ให้ เป็ นสีจาง (fade = 0.8) //เมท็อดประจําอ๊ อบเจ็คแบบ public void ชื่อ showYellow(…) เพื่อแสดงสัญญาณไฟเหลืองขึนบน ้ วินโดว์ และปรับสัญญาณไฟอื่นๆ ให้ เป็ นสีจาง (fade = 0.8) © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
12.
222
Computer Programming using Java 14 - Creating Graphics with DWindow : ANSWER //เมท็อดประจําอ๊ อบเจ็คแบบ public void ชื่อ showGreen(…) เพื่อแสดงสัญญาณไฟเขียวขึนบน ้ วินโดว์ และปรั บสัญญาณไฟอื่นๆ ให้ เป็ นสีจาง (fade = 0.8) //เมท็อดประจําอ๊ อบเจ็คแบบ public void ชื่อ sleep(…) ที่รับพารามิเตอร์ เป็ นจํานวนเต็ม 1 ค่ า เพื่อทําให้ วินโดว์ หยุดการทํางานชั่วขณะ } //End of class © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
13.
ANSWER : Creating
Graphics with DWindow - 14 Computer Programming using Java 223 2) คลาส TestTrafficSign มีรายละเอียดดังต่ อไปนี ้ (5 คะแนน) import jlab.graphics.DWindow; public class TestTrafficSign { public static void main(String[] args) { //สร้ างอ๊ อบเจ็คชื่อ t ที่มีชนิดเป็ น TrafficSign //เขียนคําสั่งเพื่อวนแสดงไฟสัญญาณจราจร โดยให้ แสดงเรียงตามลําดับตังแต่ ไฟแดง ไฟเหลือง ้ และไฟเขียว โดยให้ มีการหยุดเว้ นช่ วงครังละ 2000 msec ้ } //End of main } //End of class โจทย์ ข้อที่ 5 [ระดับยาก] จงเขียนโปรแกรมภาษาจาวาให้ สมบรณ์ เพื่อสร้ างคลาส Grade ที่ใช้ อ่านแฟม ู ้ ข้ อมลผลการเรี ยนของรายวิชาหนึ่งๆ เข้ ามา แล้ วทําการนับจํานวนผลการเรี ยนในแต่ ละระดับ พร้ อมทัง ู ้ แสดงผลออกมาในรปของกราฟแท่ ง และสร้ างคลาส TestGrade เพื่อเรี ยกใช้ งานคลาส Grade ซึ่งมีราย ู ละ เอียดดังต่ อไปนี ้ (30 คะแนน) import jlab.graphics.DWindow; import java.util.Scanner; import java.io.*; public class Grade { //แอตทริบวประจําอ๊ อบเจ็คชนิด Scanner ชื่อ file ิ //ตัวสร้ างที่รับพารามิเตอร์ 1 ตัวชนิดสตริงที่เป็ นชื่อแฟมข้ อมล เพื่อใช้ สาหรับเปิ ดแฟมข้ อมลนัน ้ ู ํ ้ ู ้ © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
14.
224
Computer Programming using Java 14 - Creating Graphics with DWindow : ANSWER //ตัวสร้ างที่รับพารามิเตอร์ 1 ตัวชนิด File ที่เป็ นแฟมข้ อมลใดๆ เพื่อใช้ สาหรับเปิ ดแฟมข้ อมลนัน ้ ู ํ ้ ู ้ //เมท็อดประจําอ๊ อบเจ็คแบบ public ชื่อ countGrade(…) เพื่อใช้ นับจํานวนผลการเรี ยนแต่ ละระดับ ของรายวิชาหนึ่งๆ จากแฟมข้ อมล พร้ อมทังคืนค่ ากลับ (คืนค่ าเป็ นอาเรย์ ) ้ ู ้ 53300121 A 53300221 D+ ตัวอย่างแฟมข้ อมูล ้ 53300321 F ... //เมท็อดประจําอ๊ อบเจ็คแบบ public ชื่อ findMax(…) รับพารามิเตอร์ 1 ตัวที่เป็ นอาเรย์ ท่ ได้ จากการ ี นับผลการเรียนแต่ ละระดับ เพื่อหาค่ าผลการเรี ยนที่มีมากที่สุดจากระดับผลการเรียนทังหมด 8 ระดับ ้ © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
15.
ANSWER : Creating
Graphics with DWindow - 14 Computer Programming using Java 225 //เมท็อดประจําอ๊ อบเจ็คแบบ public ชื่อ showBarGraph(…) เพื่อใช้ แสดงผลการนับระดับผลการ เรี ยนทัง 8 ระดับในรปแบของกราฟแท่ ง ขึนบนวินโดว์ ดังตัวอย่ างผลลัพธ์ ต่อไปนี ้ ้ ู ้ //เมท็อดประจําอ๊ อบเจ็คแบบ public ชื่อ close(…) เพื่อปิ ดแฟมข้ อมล ้ ู } //End of class © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
16.
226
Computer Programming using Java 14 - Creating Graphics with DWindow : ANSWER import java.util.Scanner; import java.io.*; public class TestGrade { public static void main(String[] args) throws IOException { //สร้ างอ๊ อบเจ็คจากคลาส Grade โดยเปิ ดอ่ านแฟมข้ อมล "d:/data.txt" พร้ อมทังคํานวนหา ้ ู ้ จํานวนผลการเรี ยนในแต่ ละระดับ และแสดงผลลัพธ์ ในรปแบบของกราฟแท่ งให้ สวยงาม ู } //End of main } //End of class © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
Download