Latest web development tutorials

Yayasan Java Applet

Yayasan Java Applet

Sebuah applet adalah program Java. Hal ini biasanya berjalan di browser Web Java-enabled. Karena memiliki dukungan penuh untuk API Java, sehingga applet adalah aplikasi fitur lengkap Java.

Di bawah ini adalah perbedaan penting antara aplikasi Java dan applet program yang berdiri sendiri:

  • class applet Java mewarisi java.applet.Applet kelas
  • kelas applet tidak mendefinisikan utama (), sehingga program tidak memanggil metode applet main (),
  • Applet dirancang untuk dimasukkan dalam halaman HTML.
  • Bila pengguna menelusuri halaman HTML yang berisi Applet, kode Applet-download ke komputer pengguna.
  • Untuk melihat applet perlu JVM. JVM dapat menjadi Web browser plug-in, atau lingkungan runtime yang terpisah.
  • JVM mesin pengguna untuk membuat sebuah instance dari kelas applet, dan panggilan siklus hidup Applet dari berbagai metode.
  • Applet memiliki aturan keamanan browser Web yang ketat applet keamanan diberlakukan disebut keamanan sandbox.
  • Bentuk applet perlu kelas lain dapat menggunakan Java Archive (JAR) file di-download.

applet siklus hidup

kelas applet menyediakan empat metode memberikan kerangka, Anda bisa berada di kerangka untuk pengembangan program kecil:

  • init: Tujuan dari metode ini adalah untuk memberikan inisialisasi yang diperlukan untuk applet Anda. Metode ini disebut setelah tag Applet tag param diproses.
  • mulai: browser panggilan metode init, yang disebut secara otomatis. Setiap kali pengguna kembali ke halaman dari halaman lain yang berisi Applet, kemudian memanggil metode.
  • berhenti: Ketika seorang pengguna dihapus dari halaman yang berisi applet, metode ini disebut secara otomatis. Oleh karena itu, metode ini bisa disebut berulang kali dalam applet yang sama.
  • menghancurkan: Metode ini disebut hanya ketika browser ditutup anggun. Karena applet setelah hanya berlaku pada halaman HTML, sehingga Anda tidak harus berada dalam pengguna meninggalkan halaman yang berisi Applet rindu sumber daya apapun.
  • cat: Metode ini disebut segera setelah metode start (), atau applet perlu digambar ulang ketika browser panggilan. Metode cat () sebenarnya diwarisi dari java.awt.

"Hello, World" Applet:

Berikut adalah program Applet HelloWorldApplet.java sederhana:

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

Pernyataan-pernyataan ini mengimpor kelas berikut ke kelas applet kami:

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

Tanpa pernyataan impor ini, Java compiler tidak akan mengenali Applet dan Graphics kelas.


kelas applet

Setiap subclass applet dari kelas Applet adalah kelas dasar java.applet.Applet menyediakan metode untuk panggilan kelas turunan, untuk mendapatkan informasi dan layanan konteks browser.

Metode ini melakukan hal-hal berikut:

  • Dapatkan parameter applet
  • Dapatkan lokasi jaringan yang berisi file HTML applet
  • Dapatkan lokasi jaringan direktori kelas applet
  • informasi status cetak browser
  • Dapatkan gambar
  • Mendapat klip audio
  • Memainkan klip audio
  • Mengubah ukuran applet

Selain itu, kelas Applet juga menyediakan sebuah antarmuka yang untuk Viewer applet atau browser untuk mendapatkan informasi dan untuk mengontrol pelaksanaan applet.

Viewer mungkin:

  • Permintaan penulis applet, versi dan informasi hak cipta
  • Permintaan keterangan identifikasi parameter applet
  • inisialisasi applet
  • kehancuran applet
  • Mulailah applet
  • Akhir applet eksekusi

kelas applet menyediakan implementasi standar metode ini, metode ini dapat diganti bila diperlukan.

"Hello, World" applet yang disiapkan sesuai dengan standar. Satu-satunya cara untuk diganti metode cat.


panggilan applet

Sebuah applet adalah program Java. Hal ini biasanya berjalan di browser Web Java-enabled. Karena memiliki dukungan penuh untuk API Java, sehingga applet adalah aplikasi fitur lengkap Java.

<Applet> tag applet berdasarkan tertanam dalam file HTML. Berikut ini adalah panggilan untuk "Hello World" contoh applet;

<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>

Catatan: Anda dapat merujuk ke tag HTML Applet untuk mempelajari lebih lanjut tentang applet metode panggilan dari HTML.

Sifat <applet> tag menentukan kelas Applet untuk menjalankan. Lebar dan tinggi digunakan untuk menentukan ukuran awal applet untuk menjalankan panel. applet harus menggunakan <applet /> tag untuk menutup.

Jika applet menerima parameter, maka nilai parameter yang dibutuhkan Tambahkan tag, tag ini terletak di <applet> dan </ applet> antara. Browser mengabaikan teks dan tag label applet lainnya.

Tidak mendukung peramban Java tidak dapat menjalankan <applet> dan </ applet>. Oleh karena itu, antara label dan tampilan applet dan tidak ada hubungan, tanpa dukungan browser Java itu terlihat.

Viewer atau browser untuk menemukan lokasi dalam dokumen dikompilasi kode Java, untuk menentukan path dokumen, harus menggunakan <applet> atribut basis kode menentukan tag.

Sebagai berikut:

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

Jika applet di mana paket bukannya paket default, paket harus ditentukan dalam kode di mana properti di mana, misalnya:

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

Dapatkan parameter applet

Contoh berikut menunjukkan bagaimana menggunakan respon applet untuk mengatur parameter yang ditentukan dalam file. Applet menunjukkan pola kotak-kotak hitam dan warna kedua.

Kedua warna dan ukuran masing-masing kolom yang ditentukan oleh parameter dari applet dalam dokumen.

CheckerApplet mendapatkan parameter dalam init () metode dalam. Anda juga bisa mendapatkan parameter dalam cat () metode dalam. Namun, dalam applet mulai mendapatkan nilai dan menyimpan pengaturan, bukan ketika mereka refresh setiap kali mendapatkan nilai, sehingga sangat nyaman dan efisien.

applet viewer atau browser ketika applet berjalan setiap pemanggilan metode init (). Setelah loading applet, Viewer segera hubungi init () metode (Applet.init () tidak melakukan apa pun), menimpa implementasi standar metode ini, menambahkan beberapa kode inisialisasi kustom.

Metode Applet.getParameter () diberikan dengan nama parameter nilai parameter yang diperoleh. Jika nilai yang diperoleh adalah angka atau data non-karakter lain, Anda harus memutuskan untuk tipe string.

Contoh berikut adalah CheckerApplet.java Sinopsis:

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) {}
}

Berikut adalah metode CheckerApplet kelas init () dan parseSquareSize swasta () metode:

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) {
     // 保留默认值
   }
}

Applet panggilan parseSquareSize (), untuk menyelesaikan parameter squareSize. parseSquareSize () metode panggilan Integer perpustakaan. parseInt (), yang akan mengurai string ke integer, ketika parameter tersebut tidak valid ketika, Integer.parseInt () melempar pengecualian.

Oleh karena itu, metode parseSquareSize () juga menangkap pengecualian, dan applet tidak diperkenankan untuk menerima input tidak valid.

Applet panggilan parseColor () metode parameter warna memutuskan untuk nilai Color. () Metode parseColor dibandingkan serangkaian string untuk mencocokkan nilai parameter dan nama warna yang telah ditetapkan. Anda perlu menerapkan metode ini untuk membuat pekerjaan applet.


Menentukan parameter applet

Contoh berikut adalah file HTML yang embeds kelas CheckerApplet. file HTML dengan menggunakan Metode tag applet untuk menentukan dua parameter.

<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>

Catatan: Nama-nama parameter yang tidak sensitif huruf.


Aplikasi ke Applet

Aplikasi Java grafis (mengacu pada penggunaan aplikasi dan launcher menggunakan program java program AWT) ke tertanam di halaman web di mana applet ini sangat sederhana.

Berikut ini adalah beberapa langkah untuk mengkonversi aplikasi ke applet:

  • Menulis sebuah halaman HTML yang dapat dimuat dengan kode tag applet.
  • Tulis subclass JApplet, kelas diatur ke publik. Jika tidak, applet tidak dapat dimuat.
  • Menghilangkan penerapan metode main (). Jangan membangun kerangka untuk jendela aplikasi karena aplikasi Anda yang akan ditampilkan dalam browser.
  • Aplikasi konstruktor bingkai jendela di mana kode inisialisasi untuk metode applet init (), objek konfigurasi applet Anda tidak menampilkan browser dengan memanggil metode init () untuk instantiate objek.
  • Hapus panggilan ke metode setSize (), applet yang bersangkutan, ukuran telah dibentuk oleh file HTML dalam parameter lebar dan tinggi.
  • Hapus panggilan ke metode setDefaultCloseOperation (). Applet tidak dapat ditutup, saat keluar browser diakhiri.
  • Jika aplikasi panggilan metode setTitle (), penghapusan memanggil metode ini. applet tidak dapat memiliki judul bar. (Tentu saja, Anda dapat memberikan melalui tag judul html untuk halaman sendiri bernama)
  • Tidak menyebut setVisible (true), applet ditampilkan secara otomatis.

Pengolahan acara

kelas applet mewarisi sejumlah metode event handler dari kelas Container. kelas kontainer mendefinisikan beberapa metode, seperti: processKeyEvent () dan processMouseEvent (), untuk menangani jenis tertentu kejadian, ada metode untuk menangkap semua peristiwa yang disebut processEvent.

Menanggapi acara, applet harus menggantikan metode event handler yang sesuai.

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! ");
    }
}

Memanggil applet berikut:

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

Kebanyakan mulai berjalan, tampilan applet "menginisialisasi applet. Mulai applet.", Dan kemudian Anda klik pada persegi panjang, ia akan menampilkan "tikus diklik".


gambar tampilan

applet dapat menampilkan GIF, JPEG, BMP dan format gambar lainnya. Untuk menampilkan gambar dalam applet, Anda perlu menggunakan drawImage () metode java.awt.Graphics kelas.

Contoh berikut menunjukkan semua langkah untuk menampilkan gambar:

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);
   } 
}

Memanggil applet berikut:

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

bermain Audio

Applet melalui paket java.applet penggunaan AudioClip bermain audio interface. antarmuka AudioClip mendefinisikan tiga metode:

  • public void bermain (): Dari awal sekali memutar klip audio ini.
  • public void lingkaran (): lingkaran memutar klip audio ini
  • public void stop (): Hentikan klip audio

Dalam rangka untuk mendapatkan AudioClip objek, Anda harus memanggil getAudioClip () kelas metode Applet. Tidak peduli apakah poin URL ke file audio yang nyata, yang akan mengembalikan hasil dengan segera.

Sampai Anda ingin memutar file audio, file akan di-download.

Contoh berikut menunjukkan langkah-langkah untuk memainkan semua audio yang:

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();
      }
   }
}

panggilan berikut applet:

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

Anda dapat menggunakan test.wav pada komputer Anda untuk menguji contoh di atas.