1 / 11

บทที่ 19

บทที่ 19. รู้จัก และใช้งาน Applet. รู้จักและใช้งาน Applet. โปรแกรม ที่เขียนด้วยภาษา Java ถูกออกแบบให้ประมวลผล ผ่านเว็บบราวเซอร์ ได้ โดยสร้าง คลาสที่สืบทอดคุณสมบัติมาจากคลาส Applet ซึ่งอยู่ ใน แพ็คแกจ java.applet

bambi
Download Presentation

บทที่ 19

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. บทที่ 19 รู้จักและใช้งาน Applet

  2. รู้จักและใช้งาน Applet • โปรแกรมที่เขียนด้วยภาษา Java ถูกออกแบบให้ประมวลผลผ่านเว็บบราวเซอร์ได้ • โดยสร้างคลาสที่สืบทอดคุณสมบัติมาจากคลาส Applet ซึ่งอยู่ในแพ็คแกจjava.applet • และกำหนด access modifier ให้เป็นแบบ public เพื่อให้เรียกใช้งานผ่านเว็บบราวเซอร์ได้ มีรูปแบบการใช้งานดังนี้ import java.applet.*; public class AppletName extends Applet { } โดยที่ AppletNameเป็นชื่อคลาส

  3. การทำงานของ Applet

  4. กระบวนการหลักของการสร้าง Applet • การสร้าง Appletเริ่มต้นสร้างจากคลาส Appletซึ่งมีส่วนของโปรแกรมเหมือนกับการเขียน Java Application ทั่วไป • จากนั้นเรียกใช้ Applet ที่สร้างขึ้นนี้ โดยนำชื่อไฟล์ไปแทรกในส่วนของคำสั่ง HTML

  5. การส่งค่าตัวแปรจากไฟล์ HTML เข้าไปใช้ในคลาส Applet • สามารถส่งไปพร้อมกับการเรียกใช้หรือประมวลผลในคลาส Applet ที่ต้องการได้ โดยตัวแปรดังกล่าวจะต้องถูกเขียนแทรกอยู่ใน tag ของ <applet> และ </applet> ซึ่งมีรูปแบบดังนี้ <applet code="AppletName.class" width=" widthValue" height="heightValue"> <param name=”paramName1” value=”paramValue1”> <param name=”paramName2” value=”paramValue2”> </applet> โดยที่ AppletNameเป็นชื่อคลาส paramName1 เป็นชื่อตัวแปรที่ใช้ส่งค่าตัวที่ 1 paramName2 เป็นชื่อตัวแปรที่ใช้ส่งค่าตัวที่ 2 paramValue1 เป็นค่าตัวแปรที่ใช้ส่งค่าตัวที่ 1 paramValue2 เป็นค่าตัวแปรที่ใช้ส่งค่าตัวที่ 2 widthValueเป็นค่าความกว้าง heightValue เป็นค่าความสูง • ในคลาส Applet จะรับค่าที่ส่งผ่านตัวแปรในไฟล์ HTML ด้วยเมธอด getParameter(paraname) โดยparanameต้องเป็นชื่อที่ตรงกับชื่อตัวแปรในไฟล์ HTML ด้วย ดังตัวอย่างต่อไปนี้

  6. โปรแกรมแสดงผลข้อความที่รับมาจากไฟล์ HTML

  7. เมธอดวาดรูปทรงต่างๆ และการระบายสี (1) • กำหนดให้ g เป็นตัวแปรประเภท Graphics • เมธอด drawString()แสดงข้อความ s ที่ตำแหน่ง x, y g.drawString(s,x,y); • เมธอด drawLine()วาดเส้นที่จุดเริ่มต้น x1, y1 และจุดสิ้นสุด x2, y2 g.drawLine(x1,y1,x2,y2); • เมธอด drawRect()วาดสี่เหลี่ยมมุมแหลมแบบโปร่งที่ตำแหน่ง x, yกว้างเท่ากับ w และสูงเท่ากับh g.drawRect(x,y,w,h); • เมธอด drawRoundRect()วาดสี่เหลี่ยมมุมมนแบบโปร่งที่ตำแหน่ง x, yกว้างเท่ากับ wและสูงเท่ากับ h โดยมีความกว้างของสี่เหลี่ยมที่กำหนดขนาดมุมมนเท่ากับ arc_w และความสูงของสี่เหลี่ยมที่กำหนดขนาดมุมมนเท่ากับ arc_h g.drawRoundRect(x,y,w,h,arc_w,arc_h);

  8. เมธอดวาดรูปทรงต่างๆ และการระบายสี (2) • เมธอด drawOval()วาดวงกลมหรือวงรีแบบโปร่งที่ตำแหน่ง x, yกว้างเท่ากับ w และสูงเท่ากับh g.drawOval(x,y,w,h); • เมธอด drawArc()วาดเส้นโค้งแบบโปร่งที่ตำแหน่ง x, yกว้างเท่ากับ w และสูงเท่ากับ h โดยมีมุมจุดเริ่มของส่วนของวงกลมหรือวงรีเท่ากับ a1 และขนาดของมุมวัดตั้งแต่จุดเริ่มต้นของส่วนของวงกลมหรือวงรีไปจนถึงจุดสิ้นสุดเท่ากับ a2 g.drawArc(x, y, w, h, a1, a2); • เมธอด fillRect()วาดสี่เหลี่ยมทึบที่ตำแหน่ง x, y ซึ่งมีความกว้างเท่ากับ w และความสูงเท่ากับh g.fillRect(x,y,w,h); • เมธอด fillRoundRect()วาดสี่เหลี่ยมมุมมนทึบที่ตำแหน่ง x, yกว้างเท่ากับ w และสูงเท่ากับ h โดยมีความกว้างของสี่เหลี่ยมที่กำหนดขนาดมุมมนเท่ากับ arc_w และความสูงของสี่เหลี่ยมที่กำหนดขนาดมุมมน เท่ากับ arc_h g.fillRoundRect(x,y,w,h,arc_w,arc_h); • เมธอด fillOval()วาดวงรีทึบที่ตำแหน่ง x, yกว้างเท่ากับ w และสูงเท่ากับh g.fillOval(x,y,w,h); • เมธอด fillArc()วาดรูปเสี้ยวที่ตำแหน่ง x, yกว้างเท่ากับ w และสูงเท่ากับ h โดยมีมุมจุดเริ่มของส่วนของวงกลมหรือวงรีเท่ากับ a1 และขนาดของมุมวัดตั้งแต่จุดเริ่มต้นของส่วนของวงกลมหรือวงรีไปจนถึงจุดสิ้นสุด เท่ากับ a2 g.fillArc(x, y, w, h, a1, a2);

  9. การใช้งานสี RGB

  10. โปรแกรมวาดรูปทรงและแสดงผลข้อความโดยการใช้สีแบบต่างๆโปรแกรมวาดรูปทรงและแสดงผลข้อความโดยการใช้สีแบบต่างๆ g.drawOval(50, 110, 100, 30); g.drawString("drawOval", 70, 130); g.setColor(Color.black); g.fillOval(50, 145, 100, 30); g.setColor(Color.white); g.drawString("fillOval", 80, 165); g.setColor(Color.red); g.drawArc(10, 28, 180, 180, 180, 180); g.drawString("drawArc2", 70, 195); c = new Color(0, 78, 152); g.setColor(c); g.fillOval(200, 75, 90, 90); g.setColor(Color.white); g.drawString("fillCircle", 222, 115); g.drawString("(0,78,152)", 215, 135); c = new Color(64, 0, 128); g.setColor(c); g.fillArc(300, 20, 180, 180, 0, 90); g.setColor(Color.white); g.drawString("(64,0,128)", 300, 25); c = new Color(255, 132, 9); g.setColor(c); g.fillArc(300, 20, 180, 180, 90, 90); g.setColor(Color.white); g.drawString("(255,132,9)", 420, 25); g.setColor(Color.yellow); g.fillArc(300, 20, 180, 180, 180, 90); g.setColor(Color.red); g.fillArc(300, 20, 180, 180, 270, 90); g.setColor(Color.white); g.drawString("fillArc", 370, 215); } } import java.applet.*; import java.awt.*; public class ColorfulShape extends Applet { Font fn; Color c; public void init() { setBackground(Color.lightGray); fn = new Font("Tahoma", Font.BOLD, 12); } public void paint(Graphics g) { g.setFont(fn); g.setColor(Color.yellow); g.drawArc(10, 20, 180, 180, 0, 180); g.drawString("drawArc1", 70, 40); g.setColor(Color.magenta); g.drawRect(50, 50, 100, 15); g.drawString("drawRect", 70, 62); g.setColor(Color.blue); g.fillRect(50, 70, 100, 15); g.setColor(Color.white); g.drawString("fillRect", 80, 82); g.setColor(Color.green); <html> <head> <title>ColorfulShape</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <applet code="ColorfulShape.class" HEIGHT=220 WIDTH=500></applet> </body> </html>

  11. ทำงานกับเมาส์และคีย์บอร์ดทำงานกับเมาส์และคีย์บอร์ด private class TextListener implements ActionListener { public void actionPerformed(ActionEvent e) { String ans = new String(msg.getPassword()); label2.setText("Your Message is " + ans); } } private class MyMouseListener implements MouseListener { public void mouseReleased(MouseEvent e) { } public void mouseEntered(MouseEvent e) { label2.setBackground(Color.red); } public void mouseExited(MouseEvent e) { label2.setBackground(Color.blue); } public void mouseClicked(MouseEvent e) { } public void mousePressed(MouseEvent e) { } } } import javax.swing.*; import java.applet.*; import java.awt.*; import java.awt.event.*; public class KeyMouseTest extends Applet { JLabel label1, label2; JPasswordFieldmsg; Font fn = new Font("Microsoft Sans Serif", Font.BOLD, 14); public void init() { setBackground(Color.cyan); label1 = new JLabel("Enter Message", SwingConstants.CENTER); label1.setPreferredSize(new Dimension(120, 25)); msg= new JPasswordField(10); label2 = new JLabel("Show Your Message Here", SwingConstants.CENTER); label2.setOpaque(true); label2.setBackground(Color.blue); label2.setForeground(Color.white); label2.setPreferredSize(new Dimension(200, 25)); label1.setFont(fn); msg.setFont(fn); label2.setFont(fn); add(label1); add(msg); add(label2); msg.addActionListener(new TextListener()); label2.addMouseListener(new MyMouseListener()); } <html> <head> <title>KeyMouseTest</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <applet code="KeyMouseTest.class" width="300" height="70"></applet> </body> </html>

More Related