Latest web development tutorials
×

Java หลักสูตร

Java หลักสูตร Java แนะนำโดยย่อ Java การกำหนดค่าการพัฒนาสภาพแวดล้อม Java พื้นฐานไวยากรณ์ Java วัตถุและการเรียน Java ชนิดข้อมูลพื้นฐาน Java ประเภทตัวแปร Java การปรับเปลี่ยน Java ผู้ประกอบการ Java โครงสร้างห่วง Java สาขาโครงสร้าง Java Number หมวดหมู่ Java Character หมวดหมู่ Java String หมวดหมู่ Java StringBuffer Java แถว Java วันที่เวลา Java นิพจน์ปกติ Java ทาง Java Stream,File,IO Java Scanner หมวดหมู่ Java การจัดการข้อยกเว้น

Java เชิงวัตถุ

Java สืบทอด Java Override/Overload Java polymorphism Java ระดับนามธรรม Java บรรจุภัณฑ์ Java อินเตอร์เฟซ Java บรรจุภัณฑ์

Java การสอนที่ทันสมัย

Java โครงสร้างข้อมูล Java คอลเลกชันกรอบ Java ยาชื่อสามัญ Java การทำให้เป็นอันดับ Java เขียนโปรแกรมเครือข่าย Java ส่ง Email Java การเขียนโปรแกรมแบบมัลติเธรด Java Appletรากฐาน Java เอกสารความคิดเห็น Java ตัวอย่าง Java 8 คุณสมบัติใหม่ Java MySQL สัมพันธ์

มูลนิธิ Java Applet

มูลนิธิ Java Applet

แอปเพล็เป็นโปรแกรม Java มันมักจะทำงานในเว็บเบราเซอร์ที่ใช้ Java เพราะมันมีการสนับสนุนอย่างเต็มที่สำหรับ Java API เพื่อให้แอปเพล็เป็นการใช้งานเต็มรูปแบบ Java

ด้านล่างนี้เป็นความแตกต่างที่สำคัญระหว่างโปรแกรม Java และแอปเพล็โปรแกรมสแตนด์อะโลน:

  • คลาสจาวาแอปเพล็สืบทอด java.applet.Applet ชั้นเรียน
  • ระดับ Applet ไม่ได้กำหนดหลัก () ดังนั้นโปรแกรมไม่เรียก Applet () หลักวิธี
  • แอปเพล็ถูกออกแบบมาให้ฝังอยู่ในหน้าเว็บ HTML
  • เมื่อผู้ใช้เรียกดูเพจ HTML ที่มีแอปเพล็รหัส Applet ถูกดาวน์โหลดไปยังเครื่องของผู้ใช้
  • การดูแอปเพล็ JVM ความต้องการ JVM สามารถเป็น plug-in ที่เว็บเบราเซอร์หรือสภาพแวดล้อมรันไทม์ที่แยกต่างหาก
  • เครื่องของผู้ใช้ JVM เพื่อสร้างตัวอย่างของการเรียนแอปเพล็และเรียกวงจรชีวิต Applet ของวิธีการต่างๆ
  • แอปเพล็มีกฎระเบียบที่เข้มงวดการรักษาความปลอดภัยแอปเพล็เว็บเบราเซอร์การรักษาความปลอดภัยบังคับใช้ที่เรียกว่าการรักษาความปลอดภัย Sandbox
  • แอปเพล็แบบฟอร์มต้องชั้นเรียนอื่น ๆ สามารถใช้ (JAR) ไฟล์จาวาคลังข้อมูลจะถูกดาวน์โหลด

วงจรชีวิต Applet

ระดับ Applet ให้สี่วิธีการให้กรอบที่คุณสามารถจะอยู่ในกรอบการทำงานสำหรับการพัฒนาโปรแกรมขนาดเล็ก:

  • init: วัตถุประสงค์ของวิธีนี้คือการให้การเริ่มต้นใด ๆ ที่จำเป็นสำหรับแอปเพล็ของคุณ วิธีการนี้เรียกว่าหลังแท็กแท็กพระราม Applet มีการประมวลผล
  • เริ่มต้น: เบราว์เซอร์เรียกวิธี init ซึ่งถูกเรียกโดยอัตโนมัติ เมื่อใดก็ตามที่ผู้ใช้ส่งกลับไปยังหน้าจากหน้าอื่น ๆ ที่มี Applet แล้วเรียกวิธี
  • หยุด: เมื่อผู้ใช้ถูกลบออกจากหน้าเว็บที่มีแอปเพล็วิธีการที่เรียกว่าโดยอัตโนมัติ ดังนั้นวิธีนี้สามารถเรียกซ้ำ ๆ ในแอปเพล็เดียวกัน
  • ทำลาย: วิธีการนี้เรียกว่าเฉพาะเมื่อเบราว์เซอร์ที่มีการปิดตัวลงอย่างสง่างาม เพราะแอปเพล็หลังจากนั้นเพียงที่ถูกต้องในหน้า HTML ดังนั้นคุณจึงไม่ควรจะอยู่ในผู้ใช้ออกจากเพจที่มีแอปเพล็พลาดทรัพยากรใด ๆ
  • สี: วิธีการนี้เรียกว่าทันทีหลังจากที่เริ่มต้น () วิธีการหรือแอปเพล็ความต้องการที่จะวาดเมื่อสายเบราว์เซอร์ สี () วิธีการรับมรดกจริงจาก java.awt

"สวัสดีโลก" Applet:

นี่คือ HelloWorldApplet.java โปรแกรม Applet ง่าย:

import java.applet.*;
import java.awt.*;
 
public class HelloWorldApplet extends Applet
{
   public void paint (Graphics g)
   {
      g.drawString ("Hello World", 25, 50);
   }
}

งบเหล่านี้นำเข้าชั้นเรียนต่อไปนี้ในระดับแอปเพล็ของเรา:

java.applet.Applet.
java.awt.Graphics.

โดยไม่ต้องนำเข้างบเหล่านี้ Java คอมไพเลอร์จะไม่รับรู้ Applet และกราฟิกชั้นเรียน


ระดับ Applet

แต่ละประเภทรองของการเรียนแอปเพล็ Applet เป็นชั้นฐาน java.applet.Applet ให้วิธีการที่ได้มาสายชั้นเรียนเพื่อให้ได้ข้อมูลและบริการบริบทเบราว์เซอร์

วิธีการเหล่านี้ทำสิ่งต่อไปนี้:

  • รับพารามิเตอร์แอปเพล็
  • ได้รับตำแหน่งบนเครือข่ายที่มีแอปเพล็ไฟล์ HTML ของ
  • ได้รับตำแหน่งไดเรกทอรีระดับแอปเพล็เครือข่าย
  • ข้อมูลสถานะพิมพ์เบราว์เซอร์
  • ได้รับภาพ
  • ได้รับคลิปเสียง
  • เล่นคลิปเสียง
  • ปรับขนาดแอปเพล็

นอกจากนี้ระดับ Applet นอกจากนี้ยังมีอินเตอร์เฟซที่แอปเพล็ Viewer หรือเบราว์เซอร์ที่จะได้รับข้อมูลและการควบคุมการดำเนินการของแอปเพล็ ๆ

ผู้ชมอาจจะเป็น:

  • ผู้เขียนขอใช้บริการแอปเพล็, รุ่นและข้อมูลเกี่ยวกับลิขสิทธิ์
  • คำอธิบายที่ขอบัตรประจำตัวแอปเพล็พารามิเตอร์
  • แอปเพล็เริ่มต้น
  • แอปเพล็ทำลาย
  • เริ่มต้นแอปเพล็
  • End แอปเพล็การดำเนินการ

ระดับ Applet ให้เริ่มต้นใช้งานวิธีการเหล่านี้วิธีการเหล่านี้สามารถแทนที่เมื่อมีความจำเป็น

"สวัสดีโลก" แอปเพล็นี้จัดทำขึ้นตามมาตรฐานการ วิธีเดียวที่จะถูกแทนที่วิธีการสี


โทร Applet

แอปเพล็เป็นโปรแกรม Java มันมักจะทำงานในเว็บเบราเซอร์ที่ใช้ Java เพราะมันมีการสนับสนุนอย่างเต็มที่สำหรับ Java API เพื่อให้แอปเพล็เป็นการใช้งานเต็มรูปแบบ Java

<Applet> แท็กแอปเพล็ตามที่ฝังอยู่ในไฟล์ HTML ต่อไปนี้คือเรียกร้องให้ "Hello World" ตัวอย่างเช่นแอปเพล็;

<html>
<title>The Hello, World Applet</title>
<hr>
<applet code="HelloWorldApplet.class" width="320" height="120">
If your browser was Java-enabled, a "Hello, World"
message would appear here.
</applet>
<hr>
</html>

หมายเหตุ: คุณสามารถอ้างถึงแท็ก Applet ที่จะเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการเรียกแอปเพล็จาก HTML

คุณสมบัติ <แอปเพล็> แท็กระบุระดับ Applet ในการทำงาน ความกว้างและความสูงที่ใช้ในการระบุขนาดเริ่มต้นของแอปเพล็ในการทำงานแผง แอปเพล็ต้องใช้ </ แอปเพล็> แท็กจะปิด

หากแอปเพล็ยอมรับพารามิเตอร์แล้วค่าของพารามิเตอร์ที่จำเป็น เพิ่มแท็กแท็กจะอยู่ใน <แอปเพล็> และ </ แอปเพล็> ระหว่าง เบราว์เซอร์ละเว้นข้อความและค่ายอื่น ๆ แท็กแอปเพล็

ไม่สนับสนุนเบราว์เซอร์ Java ไม่สามารถรัน <แอปเพล็> และ </ แอปเพล็> ดังนั้นระหว่างป้ายชื่อและความสัมพันธ์ของจอแสดงผลแอปเพล็และไม่มีอะไรโดยการสนับสนุนของเบราว์เซอร์ Java มันจะมองเห็นได้

Viewer หรือเบราว์เซอร์เพื่อหาสถานที่ในเอกสารที่รวบรวมรหัส Java เพื่อระบุเส้นทางเอกสารต้องใช้ <แอปเพล็> แอตทริบิวต์ codebase ระบุแท็ก

ดังต่อไปนี้:

<applet codebase="http://amrood.com/applets"
code="HelloWorldApplet.class" width="320" height="120">

หากแอปเพล็ที่แพคเกจแทนของแพคเกจเริ่มต้นแพคเกจจะต้องระบุในรหัสที่ทรัพย์สินที่ยกตัวอย่างเช่น:

<applet code="mypackage.subpackage.TestApplet.class"
           width="320" height="120">

รับแอปเพล็พารามิเตอร์

ตัวอย่างต่อไปนี้แสดงให้เห็นถึงวิธีการใช้การตอบสนองแอปเพล็การตั้งค่าพารามิเตอร์ที่กำหนดไว้ในแฟ้ม แอปเพล็แสดงให้เห็นถึงรูปแบบกระดานหมากรุกสีดำและสีที่สอง

สีที่สองและขนาดของแต่ละคอลัมน์ที่ระบุโดยพารามิเตอร์ของแอปเพล็ในเอกสาร

CheckerApplet รับพารามิเตอร์ใน init () วิธีการภายใน นอกจากนี้คุณยังจะได้รับพารามิเตอร์ในสี () วิธีการภายใน อย่างไรก็ตามในแอปเพล็เริ่มได้รับความคุ้มค่าและบันทึกการตั้งค่ามากกว่าเมื่อพวกเขาจะสดชื่นทุกครั้งที่ได้รับค่าจึงเป็นสิ่งที่สะดวกและมีประสิทธิภาพ

โปรแกรมดูแอปเพล็หรือเบราว์เซอร์เมื่อแอปเพล็ทำงานแต่ละสาย init () วิธีการ หลังจากโหลดแอปเพล็, Viewer ทันทีโทร init () วิธีการ (Applet.init () ไม่ได้ทำอะไร) แทนที่การใช้งานเริ่มต้นของวิธีการนี้เพิ่มรหัสเริ่มต้นที่กำหนดเอง

Applet.getParameter () วิธีการที่จะได้รับตามค่าพารามิเตอร์ชื่อพารามิเตอร์ที่ได้รับ ถ้าค่าที่ได้รับเป็นตัวเลขหรือข้อมูลที่ไม่ใช่ตัวละครอื่น ๆ ที่คุณต้องแก้ไขประเภทสตริง

ตัวอย่างต่อไปนี้ CheckerApplet.java เรื่องย่อ:

import java.applet.*;
import java.awt.*;
public class CheckerApplet extends Applet
{
   int squareSize = 50;// 初始化默认大小
   public void init () {}
   private void parseSquareSize (String param) {}
   private Color parseColor (String param) {}
   public void paint (Graphics g) {}
}

นี่คือ CheckerApplet ระดับ init () วิธีการและ parseSquareSize ส่วนตัว () วิธีการ:

public void init ()
{
   String squareSizeParam = getParameter ("squareSize");
   parseSquareSize (squareSizeParam);
   String colorParam = getParameter ("color");
   Color fg = parseColor (colorParam);
   setBackground (Color.black);
   setForeground (fg);
}
private void parseSquareSize (String param)
{
   if (param == null) return;
   try {
      squareSize = Integer.parseInt (param);
   }
   catch (Exception e) {
     // 保留默认值
   }
}

parseSquareSize แอปเพล็โทร () ในการแก้พารามิเตอร์ squareSize parseSquareSize () วิธีการเรียกจำนวนเต็มห้องสมุด. parseInt () ซึ่งจะแยกสตริงเพื่อจำนวนเต็มเมื่อพารามิเตอร์ไม่ถูกต้องเมื่อ Integer.parseInt () พ่นข้อยกเว้น

ดังนั้น parseSquareSize () วิธีการนี้ยังจับข้อยกเว้นและแอปเพล็ที่ไม่ได้รับอนุญาตให้รับข้อมูลที่ไม่ถูกต้อง

Applet โทร parseColor () วิธีการพารามิเตอร์สีมีมติให้ค่าสี parseColor () วิธีการที่ได้มาเปรียบเทียบชุดของสตริงเพื่อให้ตรงกับค่าของพารามิเตอร์และชื่อสีที่กำหนดไว้ล่วงหน้า คุณจำเป็นต้องใช้วิธีการเหล่านี้จะทำให้การทำงานของแอปเพล็


ระบุพารามิเตอร์แอปเพล็

ตัวอย่างต่อไปนี้เป็นไฟล์ HTML ที่ฝังระดับ CheckerApplet ไฟล์ HTML โดยใช้ วิธีการแท็ก applet เพื่อระบุสองพารามิเตอร์

<html>
<title>Checkerboard Applet</title>
<hr>
<applet code="CheckerApplet.class" width="480" height="320">
<param name="color" value="blue">
<param name="squaresize" value="30">
</applet>
<hr>
</html>

หมายเหตุ: ชื่อพารามิเตอร์ไม่ได้กรณีที่สำคัญ


การประยุกต์ใช้งานเข้า Applet

โปรแกรม Java กราฟิก (หมายถึงการใช้ AWT ใบสมัครและการใช้งานโปรแกรม Java โปรแกรมปล่อย) ลงฝังอยู่ในหน้าเว็บที่แอปเพล็ง่ายมาก

ต่อไปนี้ไม่กี่ขั้นตอนการแปลงแอพลิเคชันเป็นแอปเพล็:

  • เขียนเพจ HTML ที่สามารถโหลดได้ด้วยรหัสแท็กแอปเพล็
  • เขียนเป็น subclass Japplet ชั้นมีการตั้งค่าให้กับประชาชน มิฉะนั้นแอปเพล็ไม่สามารถโหลดได้
  • กำจัดการประยุกต์ใช้หลัก () วิธีการ อย่าสร้างกรอบการทำงานสำหรับหน้าต่างโปรแกรมเพราะใบสมัครของคุณจะแสดงในเบราว์เซอร์
  • กรอบหน้าต่างแอปพลิเคคอนสตรัคที่รหัสการเริ่มต้นที่จะ init แอพเพล็ต () method วัตถุการตั้งค่าแอปเพล็คุณไม่แสดงเบราว์เซอร์โดยการเรียก init () วิธีการ instantiate วัตถุ
  • นำการเรียกร้องให้ setSize () วิธีการแอปเพล็เป็นห่วงขนาดที่ได้รับการจัดตั้งขึ้นโดยไฟล์ HTML ในความกว้างและความสูงพารามิเตอร์
  • นำการเรียกร้องให้ setDefaultCloseOperation () วิธีการ Applet ไม่สามารถปิดได้ตามที่มันออกจากเบราว์เซอร์ถูกยกเลิก
  • หากโปรแกรมประยุกต์ที่เรียก setTitle () วิธีการกำจัดของเรียกวิธีการนี้ แอปเพล็ไม่สามารถมีแถบชื่อเรื่อง (แน่นอนคุณสามารถให้ผ่านแท็กชื่อ HTML สำหรับหน้าตัวเองเป็นชื่อ)
  • อย่าเรียก setVisible (จริง), แอปเพล็จะปรากฏโดยอัตโนมัติ

การประมวลเหตุการณ์

ระดับ Applet สืบทอดจำนวนของวิธีการจัดการเหตุการณ์จากชั้นตู้คอนเทนเนอร์ ระดับคอนเทนเนอร์กำหนดวิธีการหลายวิธีเช่น: processKeyEvent () และ processMouseEvent () การจัดการประเภทโดยเฉพาะอย่างยิ่งของเหตุการณ์มีวิธีการจับภาพเหตุการณ์ทั้งหมดที่เรียกว่า processEvent

ในการตอบสนองต่อเหตุการณ์แอปเพล็ต้องแทนที่วิธีการจัดการเหตุการณ์ที่เหมาะสม

import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.applet.Applet;
import java.awt.Graphics;
 
public class ExampleEventHandling extends Applet
                             implements MouseListener {
 
    StringBuffer strBuffer;
 
    public void init() {
         addMouseListener(this);
         strBuffer = new StringBuffer();
        addItem("initializing the apple ");
    }
 
    public void start() {
        addItem("starting the applet ");
    }
 
    public void stop() {
        addItem("stopping the applet ");
    }
 
    public void destroy() {
        addItem("unloading the applet");
    }
 
    void addItem(String word) {
        System.out.println(word);
        strBuffer.append(word);
        repaint();
    }
 
    public void paint(Graphics g) {
         //Draw a Rectangle around the applet's display area.
        g.drawRect(0, 0,
                      getWidth() - 1,
                      getHeight() - 1);
 
         //display the string inside the rectangle.
        g.drawString(strBuffer.toString(), 10, 20);
    }
 
  
    public void mouseEntered(MouseEvent event) {
    }
    public void mouseExited(MouseEvent event) {
    }
    public void mousePressed(MouseEvent event) {
    }
    public void mouseReleased(MouseEvent event) {
    }
 
    public void mouseClicked(MouseEvent event) {
         addItem("mouse clicked! ");
    }
}

เรียกแอปเพล็ต่อไปนี้:

<html>
<title>Event Handling</title>
<hr>
<applet code="ExampleEventHandling.class"
width="300" height="300">
</applet>
<hr>
</html>

เริ่มต้นการทำงานมากที่สุดจอแสดงผลแอปเพล็ "การเริ่มต้นแอปเพล็. เริ่มต้นแอปเพล็." และจากนั้นคุณคลิกที่รูปสี่เหลี่ยมผืนผ้าก็จะแสดง "เมาส์คลิก"


แสดงรูปภาพ

แอปเพล็สามารถแสดง GIF, JPEG, BMP และรูปแบบภาพอื่น ๆ เพื่อแสดงภาพในแอปเพล็, คุณจำเป็นต้องใช้ระดับ drawImage () วิธี java.awt.Graphics

ตัวอย่างต่อไปนี้แสดงให้เห็นถึงขั้นตอนทั้งหมดในการแสดงภาพ:

import java.applet.*;
import java.awt.*;
import java.net.*;
public class ImageDemo extends Applet
{
  private Image image;
  private AppletContext context;
  public void init()
  {
      context = this.getAppletContext();
      String imageURL = this.getParameter("image");
      if(imageURL == null)
      {
         imageURL = "java.jpg";
      }
      try
      {
         URL url = new URL(this.getDocumentBase(), imageURL);
         image = context.getImage(url);
      }catch(MalformedURLException e)
      {
         e.printStackTrace();
         // Display in browser status bar
         context.showStatus("Could not load image!");
      }
   }
   public void paint(Graphics g)
   {
      context.showStatus("Displaying image");
      g.drawImage(image, 0, 0, 200, 84, null);
      g.drawString("www.javalicense.com", 35, 100);
   } 
}

เรียกแอปเพล็ต่อไปนี้:

<html>
<title>The ImageDemo applet</title>
<hr>
<applet code="ImageDemo.class" width="300" height="200">
<param name="image" value="java.jpg">
</applet>
<hr>
</html>

เล่นเสียง

Applet ผ่านแพคเกจการใช้งาน java.applet AudioClip เล่นอินเตอร์เฟซเสียง อินเตอร์เฟซ AudioClip กำหนดสามวิธี:

  • ประชาชนเล่นเป็นโมฆะ (): จากจุดเริ่มต้นที่ครั้งหนึ่งเคยเล่นนี้คลิปเสียง
  • ห่วงโมฆะสาธารณะ (): ห่วงเล่นนี้คลิปเสียง
  • โมฆะสาธารณะหยุด (): หยุดคลิปเสียง

เพื่อให้ได้วัตถุ AudioClip คุณต้องเรียก getAudioClip () วิธีการเรียน Applet ไม่ว่าจุด URL ไปยังไฟล์เสียงจริงซึ่งจะทำการแสดงผลทันที

จนกว่าคุณจะต้องการที่จะเล่นไฟล์เสียงไฟล์จะถูกดาวน์โหลด

ตัวอย่างต่อไปนี้แสดงให้เห็นถึงขั้นตอนในการเล่นเสียงทั้งหมด:

import java.applet.*;
import java.awt.*;
import java.net.*;
public class AudioDemo extends Applet
{
   private AudioClip clip;
   private AppletContext context;
   public void init()
   {
      context = this.getAppletContext();
      String audioURL = this.getParameter("audio");
      if(audioURL == null)
      {
         audioURL = "default.au";
      }
      try
      {
         URL url = new URL(this.getDocumentBase(), audioURL);
         clip = context.getAudioClip(url);
      }catch(MalformedURLException e)
      {
         e.printStackTrace();
         context.showStatus("Could not load audio file!");
      }
   }
   public void start()
   {
      if(clip != null)
      {
         clip.loop();
      }
   }
   public void stop()
   {
      if(clip != null)
      {
         clip.stop();
      }
   }
}

แอปเพล็โทรต่อไปนี้:

<html>
<title>The ImageDemo applet</title>
<hr>
<applet code="ImageDemo.class" width="0" height="0">
<param name="audio" value="test.wav">
</applet>
<hr>

คุณสามารถใช้ test.wav บนคอมพิวเตอร์ของคุณเพื่อทดสอบตัวอย่างข้างต้น