• Like
10   Aplet
Upcoming SlideShare
Loading in...5
×
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
936
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
40
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. PUSTAKA APLET Rossilawati Sulaiman Jabatan Sains Komputer
  • 2. APLET
    • Ingat kembali, aturcara Java terbahagi kepada 2 bentuk, Aplikasi dan Aplet
    • Ingat kembali, untuk melaksanakan aturcara berbentuk aplikasi, kita perlu menggunakan pentafsir Java, misalnya
    • > java Aplikasi
  • 3. APLET
    • Aplet tidak mempunyai metod main()
    • Aplet tidak perlukan pentafsir Java untuk dilarikan
    • Aplet dilaksanakan menerusi atur cara yang menyokong perlaksanaan aplet seperti appletviewer yang disediakan dalam JDK atau sesetengah pelayar web .
  • 4. MEMBINA APLET
    • Aplet merupakan suatu objek Kelas Applet. Kelas Applet terdapat dalam pakej java.applet.
    • Bermula daripada Java 1.2, aplet boleh juga diwujudkan sebagai suatu objek JApplet. JApplet adalah suatu kelas dalam pakej javax.swing.
    • Kelas JApplet juga merupakan suatu subkelas di bawah kelas Applet
  • 5.
    • Gambaran kelas Applet dan JApplet
      • Apabila menulis aplet, pengaturcara tidak perlu mencipta objek Applet / JApplet. Ini akan dilakukan oleh atur cara yang melaksanakannya (misalnya, pelayar web).
  • 6. Kelakuan lalai bagi Aplet
    • Kelas Applet / JApplet sebenarnya sudah menakrifkan perlakuan lalai objeknya.
    Pakej lalai
  • 7.
    • Kelas ApletLalai diisytiharkan sebagai public untuk membolehkan ia diguna semula di luar pakejnya. Dengan itu, atur cara yang melaksanakannya boleh mencapai kelas ini.
    Kelakuan lalai bagi Aplet
    • Contoh berikut adalah aturcara aplet yang mempunyai kelakuan lalai
    • import javax.swing.*;
      • public class ApletLalai extends JApplet {
    • }
  • 8.
    • Badan Kelas ApletLalai adalah kosong.
    • Kelas itu tidak membatalkan mana-mana perlakuan yang diwarisinya daripada JApplet. Perlakuan objek ApletLalai adalah setara dengan perlakuan objek JApplet.
    Kelakuan lalai bagi Aplet
  • 9.
    • Tidak terdapat takrifan metod utama seperti metod main() yang ditakrifkan dalam aplikasi Java.
    • Metod utama ini dikapsulkan; ia tidak perlu diketahui oleh pengaturcara.
    Kelakuan lalai bagi Aplet
  • 10.
    • Pangkal nama fail yang menyimpan takrifan suatu kelas public hendaklah sama dengan nama kelas tersebut.
    • Dengan itu, kelas ApletLalai di atas perlu disimpan dalam fail "ApletLalai.java". Dengan adanya kekangan ini, setiap fail ".java" tidak boleh mengandungi lebih daripada satu takrifan kelas public .
    Kelakuan lalai bagi Aplet
  • 11.
    • Untuk melaksanakan atur cara di atas, ia perlu dikompil dahulu.
      • > javac ApletLalai.java
    • Seperti biasa, jika tiada ralat pengkompil akan menjana fail "ApletLalai.class" .
    • Untuk melaksanakan atur cara ini dalam pelayar web atau appletviewer, kita perlu tuliskan suatu dokumen HTML yang mengandungi arahan untuk memuatkan fail ".class" tadi
    Melaksanakan fail Aplet
  • 12.
    • Andaikan dokumen HTML ini diberi nama "ApletSaya.html".
    Melaksanakan fail Aplet <HTML> <APPLET CODE=&quot;ApletLalai.class&quot; WIDTH=300 HEIGHT=300> </APPLET> </HTML>
    • Contoh:
    Fail .class yang dijana selepas dikompil
  • 13. Melaksanakan fail Aplet
    • Untuk memapar dokumen tadi dalam pelayar web, buka dokumen tersebut seperti biasa.
    • Untuk memapar dokumen dalam appletviewer, gunakan arahan berikut:
    • appletviewer ApletSaya.html
  • 14. javac AppletLalai.java ApletLalai.java ApletLalai.class ApletSaya.html
  • 15. Mengubahsuai Kelakuan Lalai Aplet
    • Aplet tadi tidak melakukan sebarang kerja yang berguna.
    • Lazimnya, pengaturcara akan mengubahsuai perlakuan aplet (menggunakan fitur pembatalan metod) supaya ia memenuhi keperluan atur cara.
  • 16.
    • Katakan kita inginkan suatu aplet yang memaparkan suatu segiempat berwarna biru.
    • Suatu objek Applet / JApplet akan memaparkan dirinya apabila ia menerima mesej paint().
    • Dengan itu, metod paint() perlu dibatalkan dengan menakrifkan semula metod tersebut.
    Mengubahsuai Kelakuan Lalai Aplet
  • 17.
    • Perhatikan aturcara berikut :
    Mengubahsuai Kelakuan Lalai Aplet
    • import javax.swing.*;
    • import java.awt.*;
    • public class ApletSaya extends JApplet {
      • public void paint(Graphics g) {
        • Graphics2D g2d = (Graphics2D) g;
        • g2d.drawString(&quot;Ini kotak biru&quot;, 0, 15);
        • g2d.setPaint(Color.blue);
        • g2d.fillRect(20, 20, 30, 50);
      • }
    • }
    Membatalkan metod paint() dalam kelas JAplet
  • 18. Output:
  • 19. Metod dalam kelas JAplet
    • Aplet dibangunkan dengan cara mengubahsuai perlakuan aplet yang telah sedia ada
    • Oleh itu, kita perlu tahu metod objek aplet serta tujuannya supaya kita tahu metod manakah yang boleh dibatalkan.
    • Antara beberapa metod kelas JApplet yang penting ialah: init(), start(), stop(), destroy(), dan paint()
  • 20. Metod dalam kelas JAplet
    • init()
      • mesej init() dihantar kepada aplet sekali iaitu apabila aplet dicipta.
      • Aplet biasanya akan melaksanakan pengawalan ( initialization ) yang perlu dilakukan sekali sahaja iaitu pada masa ia dicipta.
  • 21. Metod dalam kelas JAplet
    • start()
      • Mesej start() dihantar kepada aplet apabila ia dimulakan.
      • Metod start() seharusnya mengandungi kod yang perlu dilaksanakan setiap kali aplet dimulakan.
      • Suatu aplet boleh menerima mesej ini lebih daripada satu kali sepanjang hayatnya.
      • Contohnya, bagi aplet yang mengandungi animasi, metod start() mengandungi kod untuk memulakan semula bebenang ( threads ) tertentu.
  • 22. Metod dalam kelas JAplet
    • stop()
      • Mesej stop() dihantar kepada aplet sebelum ia dihentikan perlaksanaannya. Metod stop() seharusnya mengandungi kod yang perlu dilaksanakan sebelum aplet dihentikan.
      • Seperti mesej start(), suatu aplet mungkin menerima mesej ini lebih daripada satu kali sepanjang hayatnya.
      • Sebagai contoh, bagi aplet yang mengandungi animasi, biasanya metod stop() akan menggantung perlaksanaan bebenangnya.
  • 23. Metod dalam kelas JAplet
    • destroy()
      • Perlu difahami bahawa aplet masih &quot;hidup&quot; setelah melaksanakan metod stop().
      • Mesej destroy() dihantar kepada aplet sebelum ia dimusnahkan. Metod destroy() seharusnya mengandungi tindakan akhir yang perlu dilakukan oleh aplet sebelum ia dimusnahkan.
      • Contoh tindakan yang dilakukan dalam metod destroy(): menghentikan perlaksanaan bebenang, menutup sebarang rangkaian yang terbuka dan sebagainya.
  • 24. Metod dalam kelas JAplet
    • paint()
      • Mesej paint() dihantar kepada aplet untuk memintanya memapar dirinya pada skrin
  • 25.
    • Aplet berikut mendemonstrasikan penghantaran mesej di atas berdasarkan kepada peralihan keadaan aplet berikut:
  • 26.
    • import java.awt.*;
    • import javax.swing.*;
    • public class ApletSaya extends JApplet {
      • private int bilKitar;
      • private int bilLukis;
      • public void init() {
      • System.out.println(&quot;init: Aplet melakukan pengawalan&quot;);
      • bilKitar = 0;
      • }
      • public void start() {
      • bilKitar++;
      • bilLukis=0;
      • System.out.println(&quot;start: Aplet telah dimulakan (kitar &quot;
      • +bilKitar+&quot;)&quot;);
      • }
    init() : Aplet melakukan pengawalan start(): Aplet dimulakan
  • 27.
      • public void stop() {
      • System.out.println(&quot;stop: Aplet akan dihentikan (kitar &quot;+bilKitar+&quot;)&quot;);
      • }
      • public void destroy() {
      • System.out.println(&quot;destroy: Aplet akan dimusnahkan&quot;);
      • System.out.println(&quot;Bilangan kitar: &quot;+bilKitar);
      • }
      • public void paint(Graphics g) {
        • bilLukis++;
        • System.out.println(&quot;paint: Aplet memapar dirinya
        • (kali ke-&quot;+bilLukis
        • +&quot; dalam kitar &quot;+bilKitar+&quot;)&quot;);
        • Graphics2D g2d = (Graphics2D) g;
        • g2d.drawString(&quot;Ini kotak biru&quot;, 0, 15);
        • g2d.setPaint(Color.blue);
        • g2d.fillRect(20, 20, 30, 50);
      • }
    • }
    Aplet dihentikan Aplet dimusnahkan Aplet memaparkan dirinya
  • 28.
    • Dalam kod tersebut, output yang dijanakan oleh System.out.println() tidak dipaparkan pada tingkap aplet
    • Sebaliknya, ia dipaparkan pada konsol Java (jika dilaksanakan menerusi pelayar web) atau pada tingkap MSDOS (jika dilaksanakan menerusi appletviewer).
    • Andaikan aplet di atas dilaksanakan menggunakan appletviewer.
  • 29.
    • Setelah memulakan aplet:
    Paparan pada aplet Paparan pada Ms Dos
  • 30.
    • Jika kita aktifkan tetingkap lain, tindankannya dengan tetingkap appletviewer dan kemudian aktifkan semula tetingkap appletviewer :
    Tindankan tetingkap Applet Viewer
  • 31.
    • Aktifkan semula tetingkap appletviewer :
    Aktifkan semula tetingkap Applet Viewer Bila diaktifkan, Aplet memaparkan dirinya sekali lagi
  • 32.
    • Jika tetingkap Applet Viewer di minimize, metod stop() akan dipanggil :
  • 33.
    • Maximize kan tetingkap Appletviewer sekali lagi:
    Metod start() dan metod paint() dipanggil sekali lagi
  • 34.
    • Jika kita hentikan perlaksanaan appletviewer, aplet akan dimusnahkan:
    Metod destroy() dipanggil
  • 35. Contoh Aplet: penambahan nombor
    • Contoh seterusnya ialah aturcara aplet yang menambahkan dua nombor perpuluhan
    • Hasil tambah dua nombor tadi akan dipaparkan pada aplet
    • Perhatikan penggunaan metod init() dan metod paint()
  • 36.
    • import java.awt.*;
    • import javax.swing.*;
    • public class ApletTambah extends JApplet{
    • double jumlah;
    • public void init(){
      • String noPertama, noKedua;
      • double num1,num2;
      • noPertama = JOptionPane.showInputDialog(&quot;Masukkan nombor perpuluhan pertama&quot;);
      • noKedua = JOptionPane.showInputDialog(&quot;Masukkan nombor perpuluhan kedua&quot;);
      • num1 = Double.parseDouble(noPertama);
      • num2 = Double.parseDouble(noKedua);
      • jumlah = num1 +num2;
    • }
    Input nombor pertama dan nombor kedua Parse nilai String kepada double Operasi penambahan
  • 37. //sambungan.. public void paint (Graphics g){ g.drawRect(15,10,270,20); g.drawString(&quot;Jumlah hasil tambah: &quot;+jumlah,25,25); } } Output:
  • 38. Metod init()
    • Metod ini mengisytiharkan pemboleh ubah noPertama, noKedua, num1 dan num2
    • Metod ini juga mengambil input dari pengguna menggunakan JOptionPane()
  • 39. Metod paint()
    • Metod ini melukis segiempat dan kemudiannya melukis String seperti di bawah: