INSTALASI

mulai mulai

jdk-6u3-windows-i586-p.exe

Control Panel

Performance and Maintenance
nb : pada Classical View pilihan ini tidak ada.

ACCEPT
Install to

c:\jdk6\
Install to

System

Advanced

c:\jre6\
selesai Environment Variables

System Variables

PATH Instalasi jdk + jre
Edit selesai Pada bagian akhir Variabel value tambahkan

;c:\jdk6\bin OK

Tutorial Java

nanungnurzula.wordpress.com .

nurzula@gmail.com

Ubah setingan Windows OK OK
1/37

Java™ SE Development Kit 6 Update 3 - License

TES INSTALASI

E:\terserah\………>javac
Usage: javac <options> <source files> where possible options include: -g Generate all debugging info -g:none Generate no debugging info -g:{lines,vars,source} Generate only some debugging info -nowarn Generate no warnings -verbose Output messages about what the compiler is doing -deprecation Output source locations where deprecated APIs are used -classpath <path> Specify where to find user class files -cp <path> Specify where to find user class files -sourcepath <path> Specify where to find input source files -bootclasspath <path> Override location of bootstrap class files -extdirs <dirs> Override location of installed extensions -endorseddirs <dirs> Override location of endorsed standards path -d <directory> Specify where to place generated class files -encoding <encoding> Specify character encoding used by source files

. . . Jika Java Development Kit (JDK) sudah terinstall dengan benar dan setting path untuk compilernya benar maka bila diketikkan JAVAC dari command promt manapun akan keluar seperti tampilan diatas.

E:\terserah\………>java
Usage: java [-options] (to execute or java [-options] (to execute class [args...] a class) -jar jarfile [args...] a jar file)

where options include: -client to select the "client" VM -server to select the "server" VM -hotspot is a synonym for the "client" VM The default VM is client.

[deprecated]

-cp <class search path of directories and zip/jar files> -classpath <class search path of directories and zip/jar files> A ; separated list of directories, JAR archives, and ZIP archives to search for class files. -D<name>=<value> set a system property -verbose[:class|gc|jni] enable verbose output -version print product version and exit

. Jika Java Runtime Environment (JRE) sudah terinstall dengan benar dan setting path untuk compilernya benar maka bila diketikkan JAVA dari command promt manapun akan keluar seperti tampilan diatas.

Tutorial Java

nanungnurzula.wordpress.com .

nurzula@gmail.com

2/37

APLIKASI JAVA-ku YANG PERTAMA public class zebelAHku { public static void main(String args[]){ System.out.print("Sebelahku manis sekali."); } }
Gunakan NOTEPAD untuk menuliskan program diatas. Kemudian disimpan dengan nama file

zebelAHku.java
nb : java adalah bahasa pemrograman yang CASE-SENSITIVE, yang maksudnya besar kecil huruf sangat diperhatikan.

Compile Java file

E:\DATA\…>javac zebelAHku.java
Bila tidak terjadi errrrrror maka akan muncul file baru bernama

zebelAHku.class

Jalankan Aplikasi anda bos

E:\DATA\…..> java zebelAHku Sebelahku manis sekali.
Tambahkan loop FOR public class zebelAHku { public static void main(String args[]){ for(int i=0;i<=10;i++) System.out.print("Sebelahku manis sekali."); } }
Silahkan ulangi men-JAVAC dan men-JAVA

Tutorial Java

nanungnurzula.wordpress.com .

nurzula@gmail.com

3/37

i<=10.".i<=10.". } Silahkan ulangi men-JAVAC dan men-JAVA } } ganti loop FOR dengan WHILE public class zebelAHku { public static void main(String args[]){ int i=10.com 4/37 . } } Silahkan ulangi men-JAVAC dan men-JAVA Tambahkan string public class zebelAHku { public static void main(String args[]){ int i. while(--i>= 0) } { System. System. String s1 = "Sebelahku manis sekali. String s1 = "Sebelahku manis sekali.println(s2).print(s1). for(i=0. for(i=0. String s2 = "Semoga dia jadi milikku.".out. nurzula@gmail. String s2 = "Semoga dia jadi milikku. String s1 = "Sebelahku manis sekali. System.print(s1).".". } } Silahkan ulangi men-JAVAC dan men-JAVA Tutorial Java nanungnurzula.out.i++) { System.wordpress.out.println(s2).Ubah deklarasi variabel public class zebelAHku { public static void main(String args[]){ int i.out.com .i++) System.out.print(s1).

". do { System. meng-compile dan menjalankan program java.out.com 5/37 . Move dan sebagainya pada windows yang ada. } } Silahkan ulangi men-JAVAC dan men-JAVA Window-nya muncul disebelah kiri atas dan berukuran kecil.Frame.setVisible(true). gitulah istilah gokilnya nama packagenya java.".* tapi dia punya pendahulu. Di close bisa nggak ?? Tutorial Java nanungnurzula.com . Cobalah untuk di resize. }while(--i>= 0).awt. String s1 = "Sebelahku manis sekali. public class cebelahKU{ public static void main(String args[]){ Frame f = new Frame(). dengan nama package javax.print(s1).out.println(s2). System.awt. nurzula@gmail. Yang sekarang popular untuk GUI di java adalah SWING. masih malu sama bos-bos sekalian. String s2 = "Semoga dia jadi milikku.* so yaaa berdasarkan sopan and santun maka kita kenalan sama ortunya dulu tho.java import java.wordpress.swing. Tapi masak sih java yang beigut ngetop kok tampilnya dari DOS prompt gitu ? Kali ini kita akan melangkah ke pemrogramam GUI ( Graphical User Interface ).ganti loop WHILE dengan DO WHILE public class zebelAHku { public static void main(String args[]){ int i=10. alias ortu. cebelahKU. } } Silahkan ulangi men-JAVAC dan men-JAVA Kita sudah belajar bagaimana menulis. Maklum baru juga kenal hari ini. f.

Tutorial Java nanungnurzula.Window java.setVisible(true). Class Frame Akan terlihat diagram seperti dibawah ini.awt. Kita scroll terus pada dokumentasi Frame tersebut mari kita cari statement dari program cebelahKU. yaitu : f.awt.awt.awt.awt. Method Summary tidak ada.Container. dan ketemunya di kotak Method inherited from class java.Object java. As of JDK version 1.awt. Kan nggak salah nyoba aja.html Lihatlah pada bagian java. Kalo nggak percaya coba deh.5.Window adalah turunan dari java. Gunakan windows explorer cari direktori \docs\api\java\awt lalu klik Frame.Sebelum kita menyelesaikan masalah bisa ditutup atau enggak window kita mari kita buka dokumantasi java untuk kelas ini.Window Dengan kata lain andai kita membuka file Frame.html Pada direktori \docs\api\java\awt maka pada kotak method Summary akan ditemukan setVisible tersebut.com . replaced by setVisible(boolean).Container java. java.Window Maksudnya adalah method setVisible adalah inherited(diwariskan) oleh kelas diatasnya yaitu kelas java. show() Deprecated. Indonesia Memunculkan atau menyembunyikan jendela tergantung dari nilai parameter b.awt.Window. nurzula@gmail. English Shows or hides this Window depending on the value of parameter b.awt. begitu seterusnya. Baik di Nested Class Summary.Frame Maksud dari diagram tersebut adalah package java. kemudian java.java diatas. Constructor Summary.Component java.com 6/37 .awt. Field Summary.lang.wordpress.awt. void void setVisible(boolean b) Shows or hides this Window depending on the value of parameter b.Frame merupakan turunan dari package java.awt.

Oh ya kita kembali ke cebelahKU. arrti katanya adalah tercela. Tapi jangan khawatir ada deprecated-list kok.Window. Disitu ada keterangan sekarang diganti dengan method apaaa seeeh. f. Kita akan mencoba deprecated dulu baru kemudian menyelesaikan gimana harus mengclose window dengan mulusssssssssss.awt.htm Silahkan dilihat Dari situ bos-bos bisa langsung search show. dalam kasus show diganti dengan setVisible. Jika nanti bos-bos menemukan program java yang lama bisa jadi ketika meng-kompilenya menemui hal-hal seperti ini. kemudian muncul Task Manager kemudian di End Task.class tadi yang nggak bisa di-close.awt. public class cebelahKU{ public static void main(String args[]){ Frame f = new Frame(). keterangannya adalah Deprecated. } } Silahkan ulangi men-JAVAC dan men-JAVA Masih bisa jalankan !!!! Tapi saat kita bos-bos melakukan javac muncul tulisan Note : cebelhKU.wordpress.Window has been deprecated Artinya yang terkutuk[deprecated] ada di kelas java.com 7/37 .Frame.awt. atau close saja jendela Command Promt-nya.Dibawah setVisible ada show. cebelahKU.Window. lalu kita menuju …. cari yang kelas dari java.show(). Alias itu digunakan oleh veris java sebelumnya dan sekarang sudah tidak dipakai lagi alias sudah ada yang baru [yang lebih muda]. Tadinya show berpasangan dengan hide dan sekarang digabung menjadi satu menjadi setVisible saja. Tutorial Java nanungnurzula.java uses or overrides a deprecated API Note : Recompile with –Xlint:deprecation for detail Sekarang mari kita coba menjavac dengan Xlint Maka akan muncul pesan seperti dibawah ini Warning : [deprecation] show() in java.com .awt.\docs\api\deprecated-list. Ada dua cara pertama Ctrl-Alt-Del.java import java. nurzula@gmail.

import java.awt.awt.awt.roseindia.awt.com .awt.java import java. nurzula@gmail.WindowAdapter.wordpress.net sebenarnya ada cara lain tapi cara yang ini hamba anggap lebih mudah tuk dimengerti dan lebih mudah untuk kelanjutan tujuan akademis Kemudian program akan ditambah dengan beberapa method seperti : • java.Dimension java.awt.getScreenSize java.Frame o setTitle o setResizable • java.awt.event.exit(0). dan masalah itu sering sekali tidak kita temui di dokumentasi maupun di tutorial standard dari sun microsystem. import java.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ System.Window o setAlwaysOnTop o setSize • java.awt. Cara penyelesaian diatas hamba dapat dari www. f.cebelahKU.WindowListener.com 8/37 .awt. Silahkan ulangi men-JAVAC dan men-JAVA Dan sekarang jendela yang kita buat kalau di close sudah bisa.Component o setBackgound o SetLocation • • • java.event.awt. } }).Frame.WindowEvent. Sebenarnya di java banyak sekali masalah.setVisible(true). tidak harus meng-close jendela command promt.Color Tutorial Java nanungnurzula.Toolkit o getDefaultToolkit. import java. } } f.event. public class cebelahKU{ public static void main(String args[]){ Frame f = new Frame().

awalJendY). java.Color.cebelahKU. getScreenSize().java import import import import java.awt. int tinggiLayar = Layar.com .setResizable(false).awt. int awalJendY =(tinggiLayar-tinggiJendela)/2.exit(0). Syukur-syukur berkenan untuk mencoba baik method maupun field yang ada. Kemudian ada hal lain yang sebaiknya dilakukan adalah mengunjungi dokumentasi untuk setiap package yang digunakan.WindowAdapter. Tutorial Java nanungnurzula.setAlwaysOnTop(true).awt.WindowEvent. Frame f = new Frame(). Apa yang terjadi ? Jendelanya nongol terus kan ! Coba diubah nilai boolean maupun angka dari methodmethod yang digunakan diatas. int awalJendX =(lebarLayar-lebarJendela)/2. f. public class cebelahKU{ public static void main(String args[]){ int lebarJendela=400.setTitle("Sebelahku Belum Mandi"). f.height.setLocation(awalJendX. f. java.tinggiJendela).setVisible(true). int tinggiJendela=100. int lebarLayar = Layar. f.event. f.awt. nurzula@gmail.Frame.com 9/37 .addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ System.awt.width. } }).setSize(lebarJendela.WindowListener.event.awt. f.event. java.wordpress.Toolkit.Dimension Layar = java. f.yellow).awt. getDefaultToolkit().setBackground(java. java. } } Silahkan ulangi men-JAVAC dan men-JAVA Cobalah klik dibeberapa bagian darilayar computer bos-bos. f.

nurzula@gmail. public class MeKuHi{ public static void main(String args[]){ int lebarJendela = 250.com 10/37 .awt.tinggiJendela). java. Frame f = new Frame("Merah Kuning Hijau").awt.WindowEvent.Frame.wordpress.WindowAdapter. int tinggiJendela = 600. pertama adalah Frame. java. } } Silahkan ulangi men-JAVAC dan men-JAVA Tutorial Java nanungnurzula. MeKuHi.setVisible(true). f.WindowListener. java.com .event.awt. f.awt. kemudian ditindih dengan Panel dan pada panel diisi oleh Component. f.event.Frame MERAH KUNING Panel HIJAU Component Di java ada tiga lapisan yang harus kita ketahui. Frame adalah Top-LevelContainer [ wadah tingkat tertinggi ].event. } }). Hasil akhir dari program ini bisa bos-bos lihat di direktori MerahKuningHijau.java import import import import java.exit(0).setSize(lebarJendela.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ System.

} } Frame f = new Frame("Merah Kuning Hijau"). tinggiLayar = Layar.awt. awalJendX = (lebarLayar-lebarJendela)/2. Kemudian bos-bos akan menambahkan Panel paling atas berwarna merah pada sepertiga bagian dari jendela yang sudah bos-bos buat.tinggiJendela).awt. Tutorial Java nanungnurzula. f.Dimension.Frame.event.MeKuHi.awt.java import java. getScreenSize(). getDefaultToolkit(). public class MeKuHi{ public static void main(String args[]){ int lebarJendela = 250.event. import java.exit(0).awt.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ System.com . import java.com 11/37 . import java.600 dan sudah tampil ditengah.wordpress.WindowAdapter.awt. Silahkan ulangi men-JAVAC dan men-JAVA Oke bos-bos sekarang sudah mendapatkan jendela berukuran 250.Toolkit.awt. lebarLayar = Layar. } }).setVisible(true).WindowListener.event. import java.WindowEvent. nurzula@gmail. awalJendY = (tinggiLayar-tinggiJendela)/2.setSize(lebarJendela. f.height.width. f.setLocation(awalJendX.awalJendY). int tinggiJendela = 600. f. import java. Dimension Layar int int int int = Toolkit.

panelAtas. getDefaultToolkit().width. import java. int lebarLayar = Layar. int awalJendY = (tinggiLayar-tinggiJendela)/2. coba sekarang kunjungi dokumentasi pada direktori : /docs/api/java/awt/Color. } }).awt.setBackground(Color.Dimension.com 12/37 .tinggiJendela).event. getScreenSize(). Frame f = new Frame("Merah Kuning Hijau").add(panelAtas). import java. = tinggiJendela/3.height.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ System.event. f. public class MeKuHi{ public static void main(String args[]){ int lebarJendela = 250. Panel panelAtas = new Panel().Color.awt. int tinggiLayar = Layar.event.red). import java.tinggiPanel).0).wordpress.html Tutorial Java nanungnurzula.Frame.java import java.WindowAdapter. f. } } Silahkan ulangi men-JAVAC dan men-JAVA Pada program diatas bos-bos sudah menambahkan dua package yang di-import.setVisible(true).com .awt. int lebarPanel int tinggiPanel = lebarJendela.MeKuHi. int tinggiJendela = 600. import java.awt. int awalJendX = (lebarLayar-lebarJendela)/2. panelAtas.awt.WindowListener.awt. f.setSize(lebarPanel.exit(0).Panel. Dimension Layar = Toolkit. panelAtas.html /docs/api/java/awt/Panel.awt. import java.awt.setLocation(0.awalJendY). import java.setSize(lebarJendela. nurzula@gmail. f.setLocation(awalJendX.Toolkit. f. import java.WindowEvent.

.Yang bos-bos inginkan adalah munculnya warna merah dibagian seperti atas jendela tapi ??? MeKuHi.java import java.setLayout(null).exit(0). . f. Mudah bukan ? Bukaaaaaaaan.com 13/37 . Frame f = new Frame("Merah Kuning Hijau"). } } Silahkan ulangi men-JAVAC dan men-JAVA Nah sekarang bos-bos sudah dapatkan kotak merah di sepertiga bagian atas dari program ciptaan bos-bos yang terhormat.awt. f.com . .addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ System.wordpress. . Tutorial Java nanungnurzula. Layout begitu penting sehingga bos-bos akan temui dikesempatan berikutnya.awalJendY). nurzula@gmail. Kali ini bos-bos akan menambahkan dua panel berikutnya yaitu panel tengah [ berwarna kuning ] dan panel bawah [ berwarna hijau ].setLocation(awalJendX. f. public class MeKuHi{ public static void main(String args[]){ . . } }).Frame.

Layout begitu penting sehingga bos-bos akan temui dikesempatan berikutnya.setSize(lebarPanel.setLocation(0. Tutorial Java nanungnurzula.tinggiPanel).yellow).com .red). panelTengah. panelBawah.wordpress. } }).add(panelAtas). Panel panelBawah = new Panel(). panelAtas.add(panelBawah). .exit(0).addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ System. Mari bos coba untuk menambahkannya pada panel bawah.com 14/37 .java import java. Panel panelAtas = new Panel(). panelTengah.0).add(panelTengah). panelAtas.2*tinggiJendela/3).setSize(lebarPanel. } } Silahkan ulangi men-JAVAC dan men-JAVA Nah sekarang bos-bos sudah dapatkan kotak merah di sepertiga bagian atas dari program ciptaan bos-bos yang terhormat. f.setBackground(Color.awt. eh kali ini bos-bos akan menambahkan sebuah Component favorit yaitu Button. panelAtas. panelBawah.Frame. Panel panelTengah = new Panel().setBackground(Color. .setSize(lebarPanel.tinggiPanel).setLocation(0.tinggiJendela/3). panelTengah.setBackground(Color.MeKuHi.tinggiPanel). This time. f. f.green). . f. panelBawah.setLocation(0. nurzula@gmail.

tinggiTombol). tombolBawah. Tapi kalau diceklek masih tak ada perubahan. Button tombolBawah = new Button(). . f.awt.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ System. .setLabel("Ceklek").green).setBackground(Color. int lebarPanel = lebarJendela. nurzula@gmail.setLocation(0. int tinggiJendela = 600. } }). int tinggiPanel = tinggiJendela/3. panelBawah.MeKuHi.tinggiPanel).wordpress. . int int int int lebarTombol tinggiTombol awalTombX awalTombY = = = = 100. 30. .awt. panelBawah.setLayout(null). getDefaultToolkit(). O ya cobanlah menghilangkan setLayout pada panelBawah.2*tinggiJendela/3).Frame.setLocation(awalTombX.com . } } Silahkan ulangi men-JAVAC dan men-JAVA Nah sekarang bos-bos sudah dapatkan tombol pada panel hijau.exit(0).awalTombY).setSize(lebarPanel. Apa yang terjadi ? Tutorial Java nanungnurzula. tombolBawah. (lebarPanel-lebarTombol)/2.add(tombolBawah).setSize(lebarTombol. . import java. .Button.java import java. panelBawah.add(panelBawah). public static void main(String args[]){ int lebarJendela = 250. Panel panelBawah = new Panel(). panelBawah. (tinggiPanel-tinggiTombol)/2. Dimension Layar = Toolkit. getScreenSize(). f. tombolBawah. panelBawah.com 15/37 .

final .wordpress. } } ). .addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ System.WindowEvent.awt.event. sekarang sudilah kiranya bos-bos mengganti isi dari public void actionPerformed menjadi sbb : Tutorial Java nanungnurzula.awt. nurzula@gmail. } } public void actionPerformed(ActionEvent e){} Silahkan ulangi men-JAVAC dan men-JAVA Bos-bos. .event. Frame f = new Frame("Merah Kuning Hijau"). f. import java. } }). tombolBawah. tombolBawah. panelBawah.event.add(tombolBawah).MeKuHi. .awt. .exit(0). . import java.setLayout(null).com 16/37 . nanti yooooo ! Bos-bos sekalian.setLabel("Ceklek").com . .java . sekarang tombol yang ada pada panel bawah kalau di ceklek sudah bisa mengganti Judul pada jendela utama. import java. Listener yang dalam arti harfiahnya pendengar adalah rutin baku yang disediakan oleh java untuk mengani [handling] kejadian-kejadian [events] yang berpasangan dengannya.ActionEvent. panelBawah. Bos-bos sudah belajar dua jenis listener yaitu window listener dan action listener. Pembahasan lebih rincinya.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ f.setTitle("Bisa di Ceklek").ActionListener.

. Panel panelTengah = new Panel().addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ f. . nurzula@gmail. . Mengganti Judul pada jendela utama jadi Kuning Merah Hijau 2.red).MeKuHi. Silahkan ulangi men-JAVAC dan men-JAVA Bos-bos. panelBawah. .setTitle("Kuning Merah Hijau"). sekarang tombol yang ada pada panel bawah kalau di ceklek sudah bisa 1. final .setBackground(Color.setBackground(Color.com .java . panelAtas. Panel panelAtas = new Panel(). panelTengah. Merubah warna panel atas menjadi Kuning dan panel tengah menjadi merah Tutorial Java nanungnurzula.setLayout(null). } } ).wordpress. . .yellow). . . final . tombolBawah. .com 17/37 .

addActionListener( new ActionListener(){ boolean saklarON = true.red). panelTengah.java . panelAtas. public void actionPerformed(ActionEvent e){ if (saklarON){ f.setBackground(Color.setVisible(true).setTitle("Kosong Kuning Hijau"). } } } ). tombolBawah. }else{ f.wordpress.com .com 18/37 . tombolBawah.setVisible(true).setBackground(Color.red).yellow).setBackground(Color.java . ? MeKuHi. f. panelTengah.setBackground(Color. }else{ saklarON = !(saklarON). panelTengah.setVisible(false). nurzula@gmail.setTitle("Kuning Merah Hijau"). panelTengah. public void actionPerformed(ActionEvent e){ saklarON = !(saklarON).setTitle("Merah Kuning Hijau"). if (saklarON){ f. } } } ).setVisible(false).setTitle("Merah Kosong Hijau"). panelAtas. Silahkan ulangi men-JAVAC dan men-JAVA Tutorial Java nanungnurzula. panelAtas.addActionListener( new ActionListener(){ boolean saklarON = true.yellow). panelAtas. saklarON = !(saklarON). saklarON = !(saklarON).MeKuHi. . Silahkan ulangi men-JAVAC dan men-JAVA Apa yang terjadi ? Senang ya ! Masa kecil kurang bahagia. .

panelTengah.setLabel("Ceklek"). .add(panelBawah).setLocation(awalTombX.2*tinggiJendela/3). panelTengah. tombolAtas.tinggiPanel).setBackground(Color.setLocation(awalTombX.setLayout(null). panelBawah.setLabel("Ceklek"). tombolTengah.green). panelAtas. Button tombolTengah = new Button().add(tombolAtas).com . tombolTengah.setLocation(0. . Panel panelBawah = new Panel(). Button tombolBawah = new Button().Kombinasi dari hal-hal seperti ini sudah pasti banyak.setSize(lebarPanel. panelBawah.com 19/37 . Jadi kalau ditekan tiga kali maka bagian kosongnya pindh ke bawah.awalTombY). panelAtas.awalTombY).setLayout(null). .tinggiTombol). tombolAtas. . f. Oke bos-bos mari kita lanjutkan dengan menambahkan Button pada panelAtas dan panelTengah.wordpress.java .add(tombolTengah).setSize(lebarTombol. Sudah pasti lah kan bos-bos memang ruuuuar biasa. nurzula@gmail. So chek this out MeKuHi. Misalnya gimana kalau kombinasi event-nya tiga. Tutorial Java nanungnurzula. .setSize(lebarTombol. panelBawah. Silahkan ulangi men-JAVAC dan men-JAVA Sebelum kita membuat tombol atas dan tengah berekasi maka sebaiknya kita ubah dulu reaksi dari tombol bawah. Button tombolAtas = new Button(). tombolTengah.tinggiTombol). tombolAtas.Bisa sendiri kan.

green). Button tombolAtas = new Button(). nurzula@gmail.setBackground(java.setTitle("Hijau Merah Kuning"). .awt.awt.java . .red).yellow).com . final .MeKuHi. Button tombolBawah = new Button(). panelAtas.setBackground(java. final . Panel panelBawah = new Panel(). final . . tombolAtas. } } ).Color.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ f. panelBawah.setVisible(true).Color. panelTengah.awt. Silahkan ulangi men-JAVAC dan men-JAVA Tutorial Java nanungnurzula.setBackground(java.wordpress. tombolBawah.Color.com 20/37 . . tombolBawah.setVisible(false).

setVisible(true).red).wordpress. panelAtas. Button tombolTengah = new Button().setBackground(Color.yellow). panelBawah.addActionListener( new ActionListener(){ . panelBawah. Silahkan ulangi men-JAVAC dan men-JAVA Tutorial Java nanungnurzula. panelTengah. } } ).addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ f.MeKuHi. . nurzula@gmail. tombolTengah.com 21/37 .setBackground(Color. tombolAtas. panelAtas.setBackground(Color. tombolBawah.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ f. . panelTengah. } } ).setBackground(Color.yellow).setTitle("Kuning Hijau Merah").setVisible(true). tombolAtas.setBackground(Color.green).green).com . final .setTitle("Merah Kuning Hijau").red). panelBawah.setBackground(Color. tombolTengah.setVisible(false). tombolBawah. tombolTengah.setLayout(null).java .setVisible(false). .

Silahkan ulangi men-JAVAC dan men-JAVA “Seorang pesimis melihat kesulitan di setiap kesempatan.setVisible(false).awalTombY). panelAtas. Mantan PM Inggris Tutorial Java nanungnurzula. panelTengah.setLabel("Ceklek").setSize(lebarTombol.setLayout(null).add(tombolAtas).awalTombY). tombolAtas.com 22/37 . tombolTengah.wordpress. panelTengah. tombolAtas. .setLocation(awalTombX. tombolAtas. tombolTengah.add(tombolTengah). final Button tombolTengah = new Button().java .setVisible(false). seorang optimistis melihat kesempatan dalam setiap kesulitan. tombolTengah.setLabel("Ceklek").tinggiTombol).setLayout(null).tinggiTombol). . .MeKuHi. tombolTengah.setSize(lebarTombol. tombolAtas. final Button tombolAtas = new Button().” Winston Churchil. panelAtas.setLocation(awalTombX. nurzula@gmail.com .

. nurzula@gmail. Deklarasikan sebuah kelas penangan kejadian dan tentukan kelas mana yang mengimplementasikan (melaksanakan) antarmuka [interface] ActionListener atau meng-extends suatu kelas yang mengimplementasikan suatu antarmuka ActionListener. tapi kalau ketemu di Tutorial Java 6 akan ketemu How to Write an Action Listener [ bagaimana caranya menulis Action Listener ]. Contohnya : public class ClassBosYangMulia implements ActionListener { 2.html Dibawah ini adalah terjemahan bebas sebagian dari halaman tutorial tersebut : Untuk menuliskan suatu Action Listener. Gimana menggunakannya ?. Masukkan kode program yang akan dijalankan didalam antar muka listener. cari action listener.wordpress. kita akan ambil contoh saja Action Listener. } Tutorial Java nanungnurzula..// Kode program yang bereaksi terhadap // kejadian yang ditimbulkan oleh komponen. Pendek kata ketika mata melihat dan tangan menjamah apa yang terjadi. Di java event-handling disebut juga dengan akhiran LISTENER. Contohnya : suatuKomponen.addActionListener(instancedari ClassBosYangMulia).Listener Topik yang berkaitan erat dengan pembuatan GUI [ Graphical User Interface ] atau Antar Muka Grafis adalah Event Handling [ Penanganan Kejadian].com 23/37 . Kalau ketemunya yang tutorial yang lama akan ketemu Writing Action Listener [ menulis Action Listener ]. Contohnya : public void actionPerformed(ActionEvent e) { .. Pada tutorial java 6 ada di direktori /tutorial/uiswing/events/actionlistener. 3. ikuti langkah-langkah berikut ini : 1. Tolong search pakai window explorer pada tutorial yang ada pada CD kelengkapan modul ini. Daftarkan suatu instance dari kelas penangan kejadian sebagai suatu listener pada satu atau beberapa komponen.com ..

import java.event. } public AksiBozz (){ } public void actionPerformed (ActionEvent e){ } } Untuk tahu benar atau salahnya silahkan ulangi men-JAVAC dan men-JAVA Tutorial Java nanungnurzula.ActionListener.ActionEvent.AksiBozz. import java.awt.setSize(900.event.70).awt. public class AksiBozz extends Frame implements ActionListener { public static void main(String[] args) { AksiBozz jendela = new AksiBozz().Frame. public class AksiBozz extends Frame implements ActionListener { public AksiBozz (){ } public void actionPerformed (ActionEvent e){ } } Untuk tahu benar atau salahnya silahkan ulangi men-JAVAC dan men-JAVA AksiBozz. jendela.java public class AksiBozz { public AksiBozz (){ } } Untuk tahu benar atau salahnya silahkan ulangi men-JAVAC dan men-JAVA public AksiBozz () disebutnya Constructor tapi apa itu Constructor kita obrolin nanti aja ya.com 24/37 .awt. AksiBozz. nurzula@gmail.ActionListener.java import java.setVisible(true).wordpress.event.awt. jendela. import java.Frame.java import java. import java.awt.com .event.ActionEvent.awt. Kali ini tentang listener dulu aja.

awt. nurzula@gmail. } public AksiBozz (){ addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ System. public class AksiBozz extends Frame implements ActionListener { public static void main(String[] args) { AksiBozz jendela = new AksiBozz().java import java.awt.event.setSize(900.WindowAdapter.wordpress.Tidak bisa di-close window-nya ???? Jadi ???? AksiBozz.com 25/37 .WindowListener. import java. import java.awt. import java.setVisible(true).event.WindowEvent.ActionListener.awt.exit(0).awt. jendela.event. } }).event.70). } public void actionPerformed (ActionEvent e){ } } Silahkan ulangi men-JAVAC dan men-JAVA Sekarang sudah bisa di-close window-nya ? Untuk tahu benar atau salahnya silahkan ulangi men-JAVAC dan men-JAVA Tidak bisa di-close window-nya ???? Jadi ???? Tutorial Java nanungnurzula.Frame.awt. import java.com .ActionEvent. import java. jendela.event.

event.awt. } }).awt. import java. import java.event. } public void actionPerformed (ActionEvent e){ } } Silahkan ulangi men-JAVAC dan men-JAVA Kalau tombol yang terlihat di klik berkali-kali dan tidak ada reaksi apapun maka PROGRAM ANDA BENAR.awt. java.exit(0). jendela.TextField.awt.addActionListener(this).java import import import import import import java.70). public class AksiBozz extends Frame implements ActionListener { Button tomb1 = new Button("Tombol Satu").awt. java. add(teks1).awt.WindowListener.WindowEvent.awt.event.AksiBozz. tomb1. public static void main(String[] args) { AksiBozz jendela = new AksiBozz().wordpress. java. } public AksiBozz (){ setLayout(new FlowLayout()). Apa itu ? Tutorial Java nanungnurzula. add(tomb1). nurzula@gmail.Button.event.FlowLayout.awt. java.ActionEvent. Nanti akan kita bahas.ActionListener.com 26/37 .Frame.WindowAdapter. addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ System.setSize(900. TextField teks1 = new TextField(25).setVisible(true).awt.event. jendela. import java.com . Pada program diatas ditambahkan FlowLayout dan this paa Constructor. java.

public static void main(String[] args) { public void actionPerformed (ActionEvent e){ counterTombol1=counterTombol1+1. TextField teks1 = new TextField(25). Theolog-Penulis (1898-1993) Tutorial Java nanungnurzula.wordpress.AksiBozz."). .com 27/37 . teks1. .com . } } Silahkan ulangi men-JAVAC dan men-JAVA Sekarang silahkan tekan tombol sepuasnya. Sehingga untuk mendapat inti itu. int counterTombol1 = 0. “Setiap masalah selalu mengandung inti solusi.” Norman Vincent Peale. .setText( "Tombol Satu sudah di klik " +counterTombol1+" kali. mau tak mau Anda perlu menghadapi masalah.java . nurzula@gmail.

.setText( "Tombol Satu sudah di klik " +counterTombol1+" kali."). int counterTombol3 = 0.com 28/37 . . int counterTombol2 = 0. add(teks2). add(teks3). TextField teks2 = new TextField(25). add(tomb1). add(tomb3). TextField teks1 = new TextField(25). Button tomb1 = new Button("Tombol Satu").addActionListener(this). tomb3. counterTombol3=counterTombol3+1. Button tomb2 = new Button("Tombol Dua"). nurzula@gmail.AksiBozz. .").setText( "Tombol Dua sudah di klik " +counterTombol2+" kali. teks3.").wordpress.addActionListener(this). add(teks1).java . add(tomb2).addActionListener(this). Silahkan ulangi men-JAVAC dan men-JAVA Lalu tekan bergantian antar ketiga tombol yang ada. teks1.com . tomb1. .setText( "Tombol Tiga sudah di klik " +counterTombol3+" kali. tomb2. int counterTombol1 = 0. TextField teks3 = new TextField(25). teks2. public AksiBozz (){ setLayout(new FlowLayout()). Apa yang terjadi ? Bagiamana menurut bos-bos ? } } Tutorial Java nanungnurzula. public void actionPerformed (ActionEvent e){ counterTombol1=counterTombol1+1. . Button tomb3 = new Button("Tombol Tiga"). counterTombol2=counterTombol2+1.

setText( "Tombol Satu sudah di klik " +counterTombol1+" kali.java.setText( "Tombol Tiga sudah di klik " +counterTombol3+" kali. nurzula@gmail.").setText( "Tombol Dua sudah di klik " +counterTombol2+" kali.getActionCommand(). Tutorial Java nanungnurzula.html lihatlah ke bawah pada method summary getActionCommand() Returns the command string associated with this action. karena Java hanya menyediakan satu actionPerformed. counterTombol2=counterTombol2+1. teks2. }else if(pencetan == "Tombol Dua") { }else if(pencetan == "Tombol Tiga") { } Silahkan ulangi men-JAVAC dan men-JAVA Lalu tekan bergantian antar ketiga tombol yang ada."). . counterTombol3=counterTombol3+1. Di atas kita berkenalan dengan getActionCommand(). So lihatlah pada bagian awal dari program AksiBozz. teks1."). Tolong bos-bos buka kembali dokumentasi dari java pada /docs/api/java/awt/event/ActionEvent. Bos-bos sekalian akan mencoba cara yang lain. Apa yang terjadi ? Puas ? Ini adalah salah satu cara menangani action listener.com .com 29/37 . if (pencetan == "Tombol Satu") { counterTombol1=counterTombol1+1.java . teks3.wordpress. public void actionPerformed (ActionEvent e){ String pencetan = e. [ mengeluarkan nilai string dari aksi yang dilakukan ] Bos-bos sekalian sudah faham bahwa tiap-tiap Button mempunyai nilai string yang sudah dideklarasikan diatas.AksiBozz.

setText( "Tombol Satu sudah di klik " +counterTombol1+" kali."). } } class AksiTiga implements ActionListener { public void actionPerformed(ActionEvent e){ counterTombol3=counterTombol3+1.AksiBozz.java .com 30/37 . AksiDua()).setText( "Tombol Tiga sudah di klik " +counterTombol3+" kali.addActionListener(new tomb3. add(teks3). .setText( "Tombol Dua sudah di klik " +counterTombol2+" kali.addActionListener(new AksiSatu()).addActionListener(new tomb2. AksiTiga()). Tutorial Java nanungnurzula. teks3.wordpress. } } } Silahkan ulangi men-JAVAC dan men-JAVA Ini adalah teknik berikutnya untuk menangani actionPerformed yang cuma satu. teks1. tomb1. /* KOSONGKAN SEMUA ISI VOID INI */ } } public void actionPerformed (ActionEvent e){ class AksiSatu implements ActionListener { public void actionPerformed(ActionEvent e){ counterTombol1=counterTombol1+1."). nurzula@gmail. } }). add(tomb3). teks2. addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ System. } } class AksiDua implements ActionListener { public void actionPerformed(ActionEvent e){ counterTombol2=counterTombol2+1.exit(0).com .").

teks2. tomb2.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ counterTombol1=counterTombol1+1.").setSize(190.AksiBozz.setText( "Tombol Dua sudah di klik " +counterTombol2+" kali. public void actionPerformed(ActionEvent e){ counterTombol2=counterTombol2+1.wordpress. public void actionPerformed(ActionEvent e){ counterTombol3=counterTombol3+1.220).setText( "Tombol Tiga sudah di klik " +counterTombol3+" kali. teks3."). nurzula@gmail. }}).setSize(440. } }). Bos-bos cobalah mengganti UBAH PULA UKURAN JENDELA DENGAN MOUSE. } public void actionPerformed (ActionEvent e){ } /* HAPUS 3 CLASS DISINI */ } Silahkan ulangi men-JAVAC dan men-JAVA Ini adalah teknik berikutnya untuk menangani actionPerformed yang cuma satu. add(teks3). add(tomb3).addActionListener(new ActionListener(){ addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ System.java ."). }}). teks1. jendela.com 31/37 .220).exit(0). . }}).com . tomb1. APA YANG TERJADI ? Tutorial Java nanungnurzula. jendela.addActionListener(new ActionListener(){ tomb3.setText( "Tombol Satu sudah di klik " +counterTombol1+" kali.

apa saja yang menghasilkan event ketika pengguna melakukan sesuatu dengannya. kita biasa mempunyai beberapa cara untuk mendapatkan masukan [ input ] dari pengguna. import javax.wordpress. klik mouse. Sebagai contoh./tutorial/uiswing/events/api. Objek-objek kejadian ntarmuka pengguna [ user interface event object ] dilewatkan dari sumber kejadian [ seperti tombol atau klik tikus ] ke event listener [seperti ActionListener] kemudian sebuah method [ prosedur kalau di Pascal] bikinan bos-bos akan memprosesnya. awt = abstract window toolkit untuk listener selengkapnya bisa dijumpai di ……….*.swing.swing.Event [ kejadian ] Event datang dari suatu antarmuka pengguna [ user interface ]. Type of Event [ jenis kejadian ] User Control AWT Swing addActionListener() addChangeListener() addItemListener() addKeyListener() addMouseListener() addMouseMotionListener() Frame JFrame addWindowListener() actionPerformed(ActionEvent e) stateChanged(ChageEvent e) itemstateChanged() keyPressed().*.awt.awt. Mouse Dragged() windowOpened(WindowEvent e) windowActivated(WindowEvent e) windowIconified(WindowEvent e) windowDeiconified(WindowEvent e) windowDeactivated(WindowEvent e) windowClosed(WindowEvent e) addXXXListener Method in Listener Button JButton TextField JTextField MenuItem JMenuItem Slider JSlider CheckBox JCheckBox Key board ke komponen Mouse ke komponen Package yang di import import java. mouseEntered(). mouseExited(). menu. keyReleased() KeyTyped() mouseClicked(). mousePressed().html Tutorial Java nanungnurzula.event. mouseReleased() mouseMoved(). import javax.*.com . import java. button.*. slider.event. nurzula@gmail.com 32/37 .

Tutorial Java nanungnurzula. Layout null mengharuskan kita memahami persis setiap komponen. dengan memilikik empat komponen sempit pada sisi-sisinya dan satu daerah yang luas di tengah yang dapat mengembang dan menyusut. Hal ini diatur dengan method setLayout. Kedua layout ini mempunyai efek yang berbeda jika window atau jendela kita resize [ubah ukurannya]. South. East. Pada AWT disediakan beberapa sarana Layout.com .Layout Kita sudah mencoba dua buah macam layout. Masing-masing objek container memiliki pengatur tata letak yang merupakan instance dari semua class yang mengimplemantasikan interface LayoutManager. Border Layout Class BorderLayout mengimplementasikan gaya layout umum untuk jendela. FlowLayout berusaha mengatur tata letak komponen sesuai dengan ukuran layer yang ada.com 33/37 . Setiap kali Panel diubah ukurannya (atau diatur ukurannya untuk pertama kali).wordpress. yaitu null dan FlowLayout. Jika komponen yang kita letakkan pada layer begitu banyak sudah pasti cara ini akan rumit dan menjemukan. West dan Center. Masing-masing daerah ini disebut North. LayoutManager digunakan untuk meletakkan masing-masing Component didalamnya. nurzula@gmail.

WindowAdapter. } } Silahkan men-JAVAC dan men-JAVA Lho kok nggak terjadi apapun ya ? DuemoBorderLayout.exit(0).DuemoBorderLayout.WindowAdapter.event.awt. import java. public class DuemoBorderLayout extends Frame { public DuemoBorderLayout () { addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0).java import java.event. import java.Frame. } public static void main(String[] args){ DuemoBorderLayout jend = new DuemoBorderLayout(). nurzula@gmail. addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.wordpress.awt.200).WindowEvent.awt.Frame. import java.WindowEvent.awt.event. setVisible(true).java import java.awt. setSize(300. import java. } public static void main(String[] args){ DuemoBorderLayout jend = new DuemoBorderLayout(). } }).com . } }).awt.event.com 34/37 . } } Silahkan men-JAVAC dan men-JAVA Tutorial Java nanungnurzula. public class DuemoBorderLayout extends Frame { public DuemoBorderLayout () { super("DuWeMo Border Layout").

exit(0).new Button("Kanan")).DuemoBorderLayout. Konstruktor digunakan untuk menentukan jumlah baris dan kolom. } } Silahkan men-JAVAC dan men-JAVA Nah sekarang kita sudah saksikan Border Layout.new TextArea("")).BorderLayout.com . } }).wordpress.Frame. addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System. import java.new Button("Atas")).Button. import java.awt. add("West". add("Center".TextArea.awt.awt.200).awt.new Button("Kiri")). add("East". setVisible(true). public class DuemoBorderLayout extends Frame { public DuemoBorderLayout () { super("DuWeMo Border Layout").awt. setLayout(new BorderLayout()). import java. Tutorial Java nanungnurzula. import java. Grid Layout Class GridLayout mengimplementasikan tata letak untuk kisi komponen sederhana yang seragam.java import java.WindowAdapter.new Button("Bawah")). add("North". import java.com 35/37 . } public static void main(String[] args){ DuemoBorderLayout jend = new DuemoBorderLayout().WindowEvent. nurzula@gmail. setSize(300.event. add("South".awt.event.

Frame.wordpress. } public static void main(String[] args){ final DuemoGridLayout jen = new DuemoGridLayout().WindowEvent.event. nurzula@gmail.exit(0). setVisible(true).awt. addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System. public class DuemoGridLayout extends Frame { public DuemoGridLayout () { super("Duwemo Grid Layout Lho").event. } } Silahkan men-JAVAC dan men-JAVA Tutorial Java nanungnurzula. setSize(400.DuemoGridLayout.com .awt. import java.awt.WindowAdapter. import java. } }).200).com 36/37 .java import java.

n)). setLayout(new GridLayout(n.com 37/37 . i++){ for (int j=1.awt.Button.awt. import java. int k=1. setSize(400.awt.awt. setVisible(true).GridLayout.java import java. } } Silahkan men-JAVAC dan men-JAVA Tutorial Java nanungnurzula. i<=n .wordpress. import java.Frame. nurzula@gmail.WindowEvent. add(b). } } addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.200). import java.event. j++){ Button b = new Button(" "+(k++)).exit(0). j<=n .DuemoGridLayout. } }). for (int i=1.event. public class DuemoGridLayout extends Frame { public DuemoGridLayout () { super("Duwemo Grid Layout Lho"). int n=4.awt.com . import java. } public static void main(String[] args){ final DuemoGridLayout jendela = new DuemoGridLayout().WindowAdapter.

Sign up to vote on this title
UsefulNot useful