PUSTAKA APLET Rossilawati Sulaiman Jabatan Sains Komputer
APLET <ul><li>Ingat kembali, aturcara Java terbahagi kepada 2 bentuk,  Aplikasi  dan  Aplet </li></ul><ul><li>Ingat kembal...
APLET <ul><li>Aplet tidak mempunyai metod  main()   </li></ul><ul><li>Aplet tidak perlukan pentafsir Java untuk dilarikan ...
MEMBINA APLET <ul><li>Aplet merupakan suatu objek Kelas  Applet.   Kelas  Applet  terdapat dalam pakej  java.applet.  </li...
<ul><li>Gambaran kelas Applet dan JApplet </li></ul><ul><ul><li>Apabila menulis aplet, pengaturcara tidak perlu mencipta o...
Kelakuan lalai bagi Aplet <ul><li>Kelas  Applet / JApplet  sebenarnya sudah menakrifkan perlakuan lalai objeknya. </li></u...
<ul><li>Kelas  ApletLalai  diisytiharkan sebagai  public  untuk membolehkan ia diguna semula di luar pakejnya.  Dengan itu...
<ul><li>Badan Kelas  ApletLalai  adalah kosong.  </li></ul><ul><li>Kelas itu tidak membatalkan mana-mana perlakuan yang di...
<ul><li>Tidak terdapat takrifan metod utama seperti metod  main()  yang ditakrifkan dalam  aplikasi  Java.  </li></ul><ul>...
<ul><li>Pangkal nama fail yang menyimpan takrifan suatu kelas  public  hendaklah sama dengan nama kelas tersebut.  </li></...
<ul><li>Untuk melaksanakan atur cara di atas, ia perlu dikompil dahulu.  </li></ul><ul><ul><li>> javac ApletLalai.java   <...
<ul><li>Andaikan dokumen HTML ini diberi nama  &quot;ApletSaya.html&quot;.   </li></ul>Melaksanakan fail Aplet <HTML> <APP...
Melaksanakan fail Aplet <ul><li>Untuk memapar dokumen tadi dalam pelayar web, buka dokumen tersebut seperti biasa.  </li><...
javac AppletLalai.java ApletLalai.java ApletLalai.class ApletSaya.html
Mengubahsuai Kelakuan Lalai Aplet <ul><li>Aplet tadi tidak melakukan sebarang kerja yang berguna.  </li></ul><ul><li>Lazim...
<ul><li>Katakan kita inginkan suatu aplet yang memaparkan suatu segiempat berwarna biru.  </li></ul><ul><li>Suatu objek  A...
<ul><li>Perhatikan aturcara berikut  : </li></ul>Mengubahsuai Kelakuan Lalai Aplet <ul><li>import javax.swing.*; </li></ul...
Output:
Metod dalam kelas JAplet  <ul><li>Aplet dibangunkan dengan cara mengubahsuai perlakuan aplet yang telah sedia ada </li></u...
Metod dalam kelas JAplet  <ul><li>init()  </li></ul><ul><ul><li>mesej  init()  dihantar kepada aplet sekali iaitu apabila ...
Metod dalam kelas JAplet  <ul><li>start() </li></ul><ul><ul><li>Mesej  start()  dihantar kepada aplet apabila ia dimulakan...
Metod dalam kelas JAplet  <ul><li>stop() </li></ul><ul><ul><li>Mesej  stop()  dihantar kepada aplet sebelum ia dihentikan ...
Metod dalam kelas JAplet  <ul><li>destroy() </li></ul><ul><ul><li>Perlu difahami bahawa aplet masih &quot;hidup&quot; sete...
Metod dalam kelas JAplet  <ul><li>paint() </li></ul><ul><ul><li>Mesej  paint()  dihantar kepada aplet untuk memintanya mem...
<ul><li>Aplet berikut mendemonstrasikan penghantaran mesej di atas berdasarkan kepada peralihan keadaan aplet berikut:   <...
<ul><li>import java.awt.*; </li></ul><ul><li>import javax.swing.*; </li></ul><ul><li>public class ApletSaya extends JApple...
<ul><ul><li>public void stop() { </li></ul></ul><ul><ul><li>System.out.println(&quot;stop: Aplet akan dihentikan (kitar  &...
<ul><li>Dalam kod tersebut, output yang dijanakan oleh  System.out.println()  tidak dipaparkan pada tingkap aplet </li></u...
<ul><li>Setelah memulakan aplet: </li></ul>Paparan pada aplet Paparan pada Ms Dos
<ul><li>Jika kita aktifkan tetingkap lain, tindankannya dengan tetingkap  appletviewer  dan kemudian aktifkan semula tetin...
<ul><li>Aktifkan semula tetingkap  appletviewer : </li></ul>Aktifkan semula  tetingkap Applet Viewer Bila diaktifkan, Aple...
<ul><li>Jika tetingkap Applet Viewer di  minimize,  metod stop() akan dipanggil : </li></ul>
<ul><li>Maximize  kan tetingkap Appletviewer sekali lagi: </li></ul>Metod start() dan metod  paint() dipanggil sekali lagi
<ul><li>Jika kita hentikan perlaksanaan appletviewer, aplet akan dimusnahkan:   </li></ul>Metod destroy() dipanggil
Contoh Aplet: penambahan nombor <ul><li>Contoh seterusnya ialah aturcara aplet yang menambahkan dua nombor perpuluhan </li...
<ul><li>import java.awt.*; </li></ul><ul><li>import javax.swing.*; </li></ul><ul><li>public class  ApletTambah extends JAp...
//sambungan.. public void paint (Graphics g){ g.drawRect(15,10,270,20); g.drawString(&quot;Jumlah hasil tambah: &quot;+jum...
Metod init() <ul><li>Metod ini mengisytiharkan pemboleh ubah  noPertama, noKedua, num1 dan num2 </li></ul><ul><li>Metod in...
Metod paint() <ul><li>Metod ini melukis segiempat dan kemudiannya melukis String seperti di bawah: </li></ul>
Upcoming SlideShare
Loading in …5
×

10 Aplet

1,166 views

Published on

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,166
On SlideShare
0
From Embeds
0
Number of Embeds
22
Actions
Shares
0
Downloads
41
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

10 Aplet

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

×