Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Java - Dasar-dasar Applet

Sebuah applet adalah program Java yang berjalan di browser Web. Sebuah applet dapat menjadi aplikasi Java yang berfungsi penuh karena memiliki seluruh Java API yang tersedia.

Ada beberapa perbedaan penting antara applet dan aplikasi Java mandiri, termasuk yang berikut −

Siklus Hidup Applet

Empat metode di kelas Applet memberi Anda kerangka kerja tempat Anda membangun applet serius apa pun −

Applet "Halo, Dunia"

Berikut ini adalah applet sederhana bernama HelloWorldApplet.java

import java.applet.*;
import java.awt.*;

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

Pernyataan impor ini membawa kelas ke dalam lingkup kelas applet kami −

Tanpa pernyataan impor tersebut, kompiler Java tidak akan mengenali kelas Applet dan Grafik, yang dirujuk oleh kelas applet.

Kelas Applet

Setiap applet adalah perpanjangan dari kelas java.applet.Applet . Kelas Applet dasar menyediakan metode yang dapat dipanggil oleh kelas Applet turunan untuk memperoleh informasi dan layanan dari konteks browser.

Ini termasuk metode yang melakukan hal berikut −

Selain itu, kelas Applet menyediakan antarmuka di mana penampil atau browser memperoleh informasi tentang applet dan mengontrol eksekusi applet. Penonton dapat −

Kelas Applet menyediakan implementasi default dari masing-masing metode ini. Implementasi tersebut dapat diganti sesuai kebutuhan.

Applet "Halo, Dunia" selesai sebagaimana adanya. Satu-satunya metode yang diganti adalah metode paint.

Memanggil Applet

Sebuah applet dapat dipanggil dengan menyematkan arahan dalam file HTML dan melihat file tersebut melalui penampil applet atau browser yang mendukung Java.

Tag adalah dasar untuk menyematkan applet dalam file HTML. Berikut adalah contoh yang memanggil applet "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>

Catatan Anda dapat merujuk ke Tag Applet HTML untuk memahami lebih lanjut tentang memanggil applet dari HTML.

Atribut kode dari tag diperlukan. Ini menentukan kelas Applet untuk dijalankan. Lebar dan tinggi juga diperlukan untuk menentukan ukuran awal panel tempat applet berjalan. Perintah applet harus ditutup dengan tag .

Jika applet mengambil parameter, nilai dapat diteruskan untuk parameter dengan menambahkan tag antara dan . Browser mengabaikan teks dan tag lain di antara tag applet.

Browser yang tidak mendukung Java tidak memproses dan . Oleh karena itu, apa pun yang muncul di antara tag, yang tidak terkait dengan applet, akan terlihat di browser yang tidak mendukung Java.

Penampil atau browser mencari kode Java yang dikompilasi di lokasi dokumen. Untuk menentukan sebaliknya, gunakan atribut basis kode dari tag seperti yang ditunjukkan −

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

Jika applet berada dalam paket selain default, paket holding harus ditentukan dalam atribut kode menggunakan karakter periode (.) untuk memisahkan komponen paket/kelas. Misalnya

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

Mendapatkan Parameter Applet

Contoh berikut menunjukkan cara membuat applet merespons parameter pengaturan yang ditentukan dalam dokumen. Applet ini menampilkan pola kotak-kotak hitam dan warna kedua.

Warna kedua dan ukuran setiap kotak dapat ditentukan sebagai parameter untuk applet di dalam dokumen.

CheckerApplet mendapatkan parameternya dalam metode init(). Mungkin juga mendapatkan parameternya dalam metode paint(). Namun, mendapatkan nilai dan menyimpan pengaturan sekali di awal applet, bukan di setiap penyegaran, akan lebih mudah dan efisien.

Penampil applet atau browser memanggil metode init() dari setiap applet yang dijalankannya. Penampil memanggil init() sekali, segera setelah memuat applet. (Applet.init() diimplementasikan untuk tidak melakukan apa-apa.) Ganti implementasi default untuk menyisipkan kode inisialisasi khusus.

Metode Applet.getParameter() mengambil parameter yang diberikan nama parameter (nilai parameter selalu berupa string). Jika nilainya numerik atau data non-karakter lainnya, string harus diurai.

Berikut ini adalah kerangka CheckerApplet.java

import java.applet.*;
import java.awt.*;

public class CheckerApplet extends Applet {
   int squareSize = 50;   // initialized to default size
   public void init() {}
   private void parseSquareSize (String param) {}
   private Color parseColor (String param) {}
   public void paint (Graphics g) {}
}

Berikut adalah metode init() dan private parseSquareSize() CheckerApplet −

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) {
      // Let default value remain
   }
}

Applet memanggil parseSquareSize() untuk mengurai parameter squareSize. parseSquareSize() memanggil metode library Integer.parseInt(), yang mem-parsing string dan mengembalikan integer. Integer.parseInt() melempar pengecualian setiap kali argumennya tidak valid.

Oleh karena itu, parseSquareSize() menangkap pengecualian, daripada membiarkan applet gagal pada input yang buruk.

Applet memanggil parseColor() untuk mengurai parameter warna menjadi nilai Warna. parseColor() melakukan serangkaian perbandingan string untuk mencocokkan nilai parameter dengan nama warna yang telah ditentukan. Anda perlu menerapkan metode ini agar applet ini berfungsi.

Menentukan Parameter Applet

Berikut ini adalah contoh file HTML dengan CheckerApplet yang tertanam di dalamnya. File HTML menentukan kedua parameter ke applet melalui tag .

<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 parameter tidak peka huruf besar/kecil.

Konversi Aplikasi ke Applet

Sangat mudah untuk mengonversi aplikasi Java grafis (yaitu, aplikasi yang menggunakan AWT dan yang dapat Anda mulai dengan peluncur program Java) menjadi applet yang dapat Anda sematkan di halaman web.

Berikut adalah langkah-langkah spesifik untuk mengonversi aplikasi ke applet.

  • Buat halaman HTML dengan tag yang sesuai untuk memuat kode applet.

  • Menyediakan subclass dari kelas JApplet. Jadikan kelas ini publik. Jika tidak, applet tidak dapat dimuat.

  • Hilangkan metode utama dalam aplikasi. Jangan membuat jendela bingkai untuk aplikasi. Aplikasi Anda akan ditampilkan di dalam browser.

  • Pindahkan kode inisialisasi apa pun dari konstruktor jendela bingkai ke metode init dari applet. Anda tidak perlu membuat objek applet secara eksplisit. Peramban membuat instance untuk Anda dan memanggil metode init.

  • Hapus panggilan ke setSize; untuk applet, ukuran dilakukan dengan parameter lebar dan tinggi dalam file HTML.

  • Hapus panggilan ke setDefaultCloseOperation. Sebuah applet tidak dapat ditutup; itu berakhir ketika browser keluar.

  • Jika aplikasi memanggil setTitle, hilangkan panggilan ke metode. Applet tidak boleh memiliki bilah judul. (Tentu saja Anda dapat memberi judul halaman web itu sendiri, menggunakan tag judul HTML.)

  • Jangan panggil setVisible(true). Applet ditampilkan secara otomatis.

Penanganan Acara

Applet mewarisi sekelompok metode penanganan peristiwa dari kelas Container. Kelas Container mendefinisikan beberapa metode, seperti processKeyEvent dan processMouseEvent, untuk menangani jenis kejadian tertentu, dan kemudian satu metode catch-all yang disebut processEvent.

Untuk bereaksi terhadap suatu peristiwa, sebuah applet harus mengganti metode khusus peristiwa 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! ");
   }
}

Sekarang, mari kita sebut applet ini sebagai berikut

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

Awalnya, applet akan menampilkan "menginisialisasi applet. Memulai applet." Kemudian setelah Anda mengklik di dalam persegi panjang, "mouse clicked" akan ditampilkan juga.

Menampilkan Gambar

Sebuah applet dapat menampilkan gambar dengan format GIF, JPEG, BMP, dan lain-lain. Untuk menampilkan gambar di dalam applet, Anda menggunakan metode drawImage() yang ditemukan di kelas java.awt.Graphics.

Berikut adalah contoh yang menggambarkan 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);
   }  
}

Sekarang, mari kita sebut applet ini sebagai 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>

Memutar Audio

Sebuah applet dapat memutar file audio yang diwakili oleh antarmuka AudioClip dalam paket java.applet. Antarmuka AudioClip memiliki tiga metode, termasuk −

  • permainan batal publik() Memutar klip audio satu kali, dari awal.

  • loop kekosongan publik() Menyebabkan klip audio diputar ulang terus menerus.

  • penghentian kekosongan publik() Berhenti memutar klip audio.

Untuk mendapatkan objek AudioClip, Anda harus memanggil metode getAudioClip() dari kelas Applet. Metode getAudioClip() segera kembali, terlepas dari apakah URL tersebut menjadi file audio yang sebenarnya atau tidak. File audio tidak diunduh sampai ada upaya untuk memutar klip audio.

Berikut adalah contoh yang menggambarkan semua langkah untuk memutar audio −

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

Sekarang, mari kita sebut applet ini sebagai berikut

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

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


java

  1. Operator Jawa
  2. Komentar Jawa
  3. Java untuk setiap Loop
  4. String Jawa
  5. Antarmuka Jawa
  6. Kelas Anonim Java
  7. Java mencoba-dengan-sumber daya
  8. Anotasi Jawa
  9. Pernyataan Jawa
  10. Vektor Jawa