ograman
Nama File : testFinalClass.java
Sintaks program :
CLASS JFRAME
1. MEMAHAMI CLASS JFRAME
Class JFrame yaitu sebuah class yang sudah disiapkan oleh JDK untuk dipergunakan
dalam pembuatan aplikasi. Artinya class ini bisa langsung digunakan oleh para
programmer dalam pembuatan aplikasi.
Adapun tugas dari Class JFrame ini yaitu untuk membuat sebuah frame. Frame
yaitu sebuah objek yang merepresentasikan suatu area dilayar yang berisi sejumlah
objek lain untuk menyampaikan informasi kepada user. Pada frame dapat
ditambahkan sejumlah komponen lain dengan tujuan yang sesuai dengan fungsi
komponen ini . Bagi para pembuat program, nama lain dari frame bisa disebut
dengan window atau form. jika sebuah aplikasi sudah ada form, maka
aplikasi ini sudah berbasis GUI atau Graphical User Interface.
Class JFrame yaitu class yang berfungsi membuat Frame. Sehingga, dapat
disimpulkan bahwa class JFrame yaitu class utama yang diperlukan untuk membuat
aplikasi berbasis GUI. Tanpa Class JFrame, sebuah aplikasi yang dibuat tidak dapat
menjadi aplikasi berbasis GUI.
Pada Java Development Kit (JDK), tersedia beberapa package yang berisi Class-Class
dan komponen pendukung GUI. Pada modul praktikum ini, akan memakai dua
buah package. Kedua package ini yaitu AWT dan SWING. Perbedaan kedua
package ini yaitu lokasi tempat menyimpanan packagenya. Package AWT ada
pada java.awt, sedangkan SWING ada pada javax.swing dan package SWING
memiliki komponen yang lebih banyak dari AWT. Beberapa komponan dari SWING
yaitu button, combo box, check box, label, list, scrollbar, textfield, radio button,
option pane, progress bar, tabel, menu dan text area. Setiap komponen memiliki
fungsi dan cara pembuatan yang berbeda. Semua komponan pada swing diawali
dengan huruf “J”, misalkannya JButton, JtextArea. Sehingga, dapat diketahui bahwa
Class JFrame ada pada package SWING.
2. PENERAPAN METHOD CLASS JFRAME DALAM PEMROGRAMAN
Berikut yaitu contoh pembuatan frame memakai Class JFrame. Untuk
memakai Class JFrame, maka perlu untuk menyebutkan/menambahkan lokasi
penyimpanan package dari Class JFrame ini . Dalam hal ini package javax.swing.
Pada bahasa Java, keyword yang digunakan untuk menambahkan package kedalam
program yaitu import.
Pada pembuatan frame diperlukan beberapa method dari Class JFrame untuk
membuat satu buah frame yang utuh. Untuk lebih jelasnya akan diuraikan satu
persatu method yang diperlukan dalam pembuatan Frame. Satu persatu, contoh
pemakaian method akan melengkapi method sebelumnya, sehingga menjadi satu
buah frame yang utuh.
a. pemakaian method show()
Method ini berfungsi untuk menampilkan sebuah frame ketika program dijalankan.
Selain method ini, ada method lain yang berfungsi untuk menampilkan frame.
Method ini yaitu method setVisible(). Berikut yaitu contoh program
memakai method show().
Nama Program : framedasar.java
Sintaks Program :
Output Program :
Penjelasan Program :
import javax.swing.JFrame yaitu perintah untuk memanggil class JFrame dari
package Swing.
JFrame objJFrame = new JFrame() yaitu perintah mendeklarasi objek dari
class JFrame. Objek yang dibuat bernama objJFrame.
objJFrame.show() yaitu perintah untuk menampilkan Frame.
b. pemakaian Konstruktor Class JFrame
Judul pada sebuah frame berguna untuk menunjukkan kegunaan dari aplikasi
yang dibuat secara umum. Melalui Class JFrame, sebuah judul dapat dibuat
memakai konstruktor dari class ini . Berikut yaitu contoh
programmnya.
Nama Program : judulframe.java
Sintaks Program :
Output Program :
Penjelasan Program :
Melalui konstruktor dari Class JFrame, dibuat judul dari framenya dengan
nama “STMIK Atma Luhur”.
jika tombol maximize diklik, maka output program menjadi :
c. pemakaian method setDefaultCloseOperation() dan method EXIT_ON_CLOSE()
Berdasarkan contoh program pada point a dan b, frame yang sudah dibuat dan
dijalankan, frame tidak dihapus dari memori computer, walaupun sudah
menutupnya dengan mengklik tombol close. Dengan kata lain, frame ini
masih berjalan tetapi tidak kelihatan. Sehingga jika ingin mengcompile ulang
program, user harus mengklik icon Stops the active tool.
Hal ini disebabkan karena java memberlakukan method HIDE_ON_CLOSE pada
saat sebuah windows di close. Melalui method ini, begitu ditutup, frame tidak
dikeluarkan dari memory (exit), tetapi disembunyikan dari pandangan(hide).
Berikut beberapa metode setDefaultCloseOperation(int), yang digunakan untuk
menentukan aksi pada saat sebuah frame ditutup. Java menyediakan empat
konstanta yang bisa dipilih, untuk aksi yang dilakukan :
DO_NOTHING_ON_CLOSE (didefinisikan di WindowConstant)
Menyatakan bahwa tidak ada proses yang akan dilakukan. Dengan kata
lain frame ini tidak ditutup. Hal ini pada suatu kondisi perlu dimana
frame dicegah dari tindakan ditutup tanpa sengaja.
HIDE_ON_CLOSE (didefinisikan di WindowConstant)
Menyatakan bahwa frame akan dihilangkan dari layar, bukan dari memori
dan merupakan nilai default dari setDefaultCloseOperation().
DISPOSE_ON_CLOSE (didefinisikan di WindowConstant)
Menyatakan bahwa frame akan dihilangkan dari layar dan dari memori
computer.
EXIT_ON_CLOSE (didefinisikan di JFrame)
Menyatakan bahwa penutupan frame ini akan menyebabkan keseluruhan
program ditutup dan dihapus dari memori. Gunakan konstanta ini pada tempat
yang tepat, misalnya kita membuat program yang membuka beberapa frame,
maka jangan gunakan pada sembarang frame ini . Gunakan pada frame
yang benar-benar akan menutup dan kembali kesistem.
Pada uraian ini , method yang diperlukan agar sebuah frame dikeluarkan dari
memory komputer yaitu method EXIT_ON_CLOSE().
Berikut contoh program memakai method EXIT_ON_CLOSE() melalui method
setDefaulCloseOperation().
Nama program : hapusframe.java
Sintaks program :
- Output program :
d. pemakaian method setLocation()
Pada contoh sebelumnya, ketika program dijalankan frame akan ditampilkan pada
posisi pojok kiri atas pada layar. Hasil yang diperoleh seperti itu dikarenakan
frame diberikan pada posisi defaultnya yaitu pada koordinat 0,0.
Koordinat sebuah objek biasanya memakai x dan y. Penulisan titik koordinat
diwakili dengan (x,y). Pada layar monitor, titik x menunjukkan posisi objek dari kiri
ke kanan sedangkan y menunjukkan posisi objek dari atas ke bawah. Sebagai
contoh jika objek mendapat koordinat (30,20), artinya objek ini berada
pada posisi 30 titik dari kiri dan 20 titik dari kiri. Diilustrasikan dengan gambar
sebagai berikut :
Ilustrasi layar monitor
y = 20
x = 30
Dari uraian ini dapat dijelaskan bahwa, jika sebuah frame mendapatkan
posisi defaultnya yaitu 0,0, maka frame ini berada pada koordinat 0 (nol)
baik secara horizontal maupun secara vertikal, sehingga frame ini akan
berada pada pojok kiri atas pada layar.
Class JFrame menyediakan method untuk mengatur posisi frame pada layar. Salah
satunya yaitu method setLocation(). Untuk memakai method ini diperlukan
dua buah parameter. Parameter ini lah yang berfungsi untuk menentukan poisisi
frame baik secara horizontal maupun secara vertikal. Berikut contoh pemakaian
method setLocation() dalam pemrograman.
Nama program : posisiframe.java
Sintaks program :
Output program (dengan posisi yg telah ditentukan) :
Penjelasan program :
objJFrame.setLocation(100,200) yaitu perintah menentukan lokasi frame
pada layar monitor, artinya 100 titik dari kiri frame dan 200 titik dari atas
frame (darikiri,dariatas)
e. pemakaian method setSize()
Perhatikan bentuk frame yang dibuat berdasarkan contoh program diatas. Frame
yang dihasilkan sebagai berikut :
Pada contoh tampilan frame ini menunjukkan bahwa frame ini belum
mempunyai ukuran, sehingga frame ini tidak dapat menampung berbagai
komponen, contohnya class JLabel.
Pada dasarnya, walaupun frame tidak mempunyai ukuran, frame ini dapat
menampung sebanyak apapun komponen, tetapi komponen ini tidak dapat
ditampilkan karena area/tempat untuk menampilkan komponen tidak ada.
Sehingga tidak ada manfaat sama sekali komponen dimasukkan kedalam frame
yang tidak mempunyai ukuran.
Untuk mengatasinya, Class JFrame sudah menyediakan method untuk
menentukan ukuran dari sebuah frame. Salah satu methodnya yaitu method
setSize(). pemakaian method ini memerlukan dua buah parameter untuk
menentukan ukuran framenya, lebar (widht) dan tinggi (height) frame. Satuan
ukuran frame sama dengan satuan posisi frame, yaitu pixel. Berikut yaitu contoh
program yang memakai method setSize().
Nama File : ukuranframe.java
Sintaks Program :
Output Program :
Penjelasan Program
objJFrame.setSize(300,400) yaitu perintah untuk menentukan ukuran frame,
artinya 300 pixel secara horizontal dan 400 pixel secara vertikal.
3. PENERAPAN KONSEP TURUNAN PADA CLASS JFRAME
Class JFrame bukan merupakan class yang bertipe Final Class. Artinya class ini
masih dapat diturunkan ke class yang lain.
Pada contoh berikut class JFrame diturunkan ke class yang lain sehingga
menghasilkan sebuah frame. Class ini akan memakai keyword extends
yang menunjukkan bahwa class ini yaitu class turunan dari Class JFrame.
Pada class yang menjadi turunan dari class JFrame, akan memakai method yang
diperlukan pada sebuah frame. Method-method yang akan digunakan ditempat pada
konstruktor pada class ini .
memakai konsep ini, class yang dibuat cukup dipanggil dalam bentuk
anonymous objek pada class main()nya (class utamanya). Output/tampilan frame
memakai konsep ini sama dengan contoh program sebelumnya.
Nama Program : ukuranframe2.java
Sintaks Program :
Penjelasan Program :
class clsframe extends JFrame yaitu perintah membuat sebuah class yang
bernama clsfram yang merupakan turunan dari class JFrame. Keyword extends
menandakan class ini turunan dari class lain.
Pada Class clsframe, method yang diperlukan ditempatkan didalam konstruktor.
Ciri dari konstruktor yaitu memiliki nama yang sama dengan nama classnya.
Pada contoh ini konstruktor yang digunakan yaitu konstruktor tanpa
parameter.
super (“STMIK Atma Luhur”) menunjukkan perintah ini memakai
atribut dan method dari class induknya. Pada Class JFrame, perintah ini
berfungsi untuk membuat judul pada frame.
new clsframe() yaitu perintah untuk memanggil class clsframe. Ini yaitu contoh
dari Anonymous Object, yaitu object dari sebuah class yang tidak mempunyai
nama.
CLASS GUI
1. PENGENALAN PACKAGE AWT DAN SWING
Java Development Kit (JDK) menyediakan dua buah package yang dapat digunakan
untuk membangun objek GUI, yaitu package AWT dan SWING. Perbedaan dari kedua
package ini yaitu :
Lokasi penyimpanan kedua package ini berbeda pada library. Package AWT
ada pada java.awt sedangkan package SWING ada pada javax.swing.
Nama dari komponen atau class yang ada pada package SWING diawali
dengan huruf “j”. Berbeda dengan package AWT, nama dari komponen atau class
tidak mempunyai ciri tertentu.
AWT merupakan singkatan dari Abstract Windows Toolkit yang merupakan tampilan
dasar dari setiap target platform, seperti windows, macintosh, solaris atau berdiri
sendiri sesuai dengan mekanisme sebuah platform.
Pada pembuatan sebuah program yang simpel, package AWT bagus untuk menjawab
kebutuhan ini , seperti slogan dari bahasa Java yaitu Write once run everywhere.
Tetapi pada saat membuat sebuah program yang lebih kompleks AWT menjadi tidak
bagus dan tidak berlaku pada tujuan Java (write once, debug everywhere). Hal in
karena sulit diimplementasikan dan harus sesuai dengan target platform.
Sebagai contoh, class GUI seperti Button, Textfield dan Scrollbar memiliki tingkah laku
(behaviour) yang berbeda di setiap platform. Pada AWT library class GUI juga
memiliki bug yang berbeda di setiap platform.
Kekurangan ini diantisipasi dengan hadirnya package SWING yang menawarkan
tampilan yang lebih kaya dan bagus. SWING tidak berdasarkan platform yang dituju
tetapi memakai methode “Painted” yaitu, setiap objek dari class GUI digambar
ke dalam window/frame kosong. Sehingga setiap objek dari class GUI akan tampil dan
berperilaku sama disetiap platfrom.
Package SWING bukanlah pengganti dari package AWT dan package SWING tidak
dapat berdiri sendiri, karena setiap program butuh berkomunikasi dengan mekanisme
dasar dari target platform seperti Event Handling yang ada di package AWT. Jadi,
package SWING akan selalu berdampingan dengan package AWT.
2. CLASS GUI PADA PACKAGE SWING
Berbagai class GUI didalam java merupakan turunan dari class JComponent.
Sesuai dengan namanya yang diawali dengan huruf “j” class JComponent ada
didalam package SWING.
Berikut beberapa Class GUI turunan dari Class JComponent yang ada pada
package SWING.
a. Class JLabel
Versi lamanya bernama Label yang ada dalam package AWT. Class
JLabel digunakan untuk merepresentasikan suatu tulisan di frame.
Sebuah label ditujukan sebagai media informasi bagi user, bukan sebagai
media interaksi dengan user. JLabel tidak bisa mengartikan sesuatu sebagai
respon didalam sebuah label. JLabel hanya bisa membaca informasi yang tertulis
diatasnya.
Bentuk deklarasi class JLabel yaitu sebagai berikut :
JLabel Nama_Objek = new JLabel (String, ImageIcon, Format)
Contoh :
JLabel lblNama = new JLabel (“Nama :”);
Beberapa methode yang dimiliki oleh class JLabel yaitu :
1) getText() = mendapatkan teks pada JLabel
2) setForeground(Color) = mengubah warna tulisan JLabel
3) setFont(Font) = mengubah model huruf pada JLabel
4) setHorizontalAlignment(int) = mengatur perataan tampilan label
(LEFT, CENTER, RIGHT)
5) setText(String) = mengubah string pada JLabel
b. Class JTextField
Versi lamanya bernama TextField yang ada didalam package AWT.
JTextField digunakan untuk menerima inputan dari user, pada saat komputer
berinteraksi dengan User. Objek ini biasanya dipasangkan dengan objek label
pada saat melakukan interaksi dengan user.
Bentuk deklarasi class JTextField yaitu sebagai berikut :
JTextField Nama_Objek = new JTextField (text_default);
Contoh :
JTextField txtnim = new JTextField("0222300005");
Beberapa methode yang dimiliki oleh class JTextField yaitu sebagai berikut :
1) getText() = mendapatkan string pada JTextField
2) selectAll() = memblok seluruh string pada JTextField
3) setFont(Font) = mengubah model huruf pada JTextField
Okkita Rizan - 114 - Genap -
4) setEnabled(boolean) = dapat diakses (true) atau tidak (false)
5) setForeground(color) = mengubah warna font pada JTextField
6) setText(String) = mengubah string pada JTextField
7) setToolTipText() = menampilkan tulisan saat mouse ditempelkan
c. Class JButton
Versi lamanya bernama Button yang ada didalam package AWT. JButton
digunakan untuk melakukan suatu proses jika user mengkehendakinya. Bukan
merupakan proses yang akan terjadi secara otomatis.
Bentuk deklarasi class JButton yaitu sebagai berikut :
JButton Nama_Objek = new JButton (String);
Contoh :
JButton tombolOK = new JButton (“OK”);
Beberapa methode yang dimiliki oleh class JButton yaitu sebagai berikut :
1) setEnabled(boolean) = bisa diakses atau tidak.
2) setVisible(boolean) = bisa terlihat oleh user atau tidak.
3) setText(String) = mengubah string yang ditampilkan pada button.
4) setFont(Font) = mengganti model huruf yang digunakan.
5) setForeground(Color) = mengubah warna pada text button.
d. Class JCheckBox
Versi lamanya bernama CheckBox yang ada didalam package AWT.
JCheckBox digunakan untuk memilih minimal satu dari sekian banyak pilihan yang
disediakan untuk user. Sebagai contoh memilih hobi, hobi bisa saja lebih dari satu.
Bentuk deklarasi class JButton yaitu sebagai berikut :
JCheckBox Nama_Objek = new JCheckBox (String);
Contoh :
JCheckBox chkBaca = new JCheckBox (“Hobi Membaca”);
Beberapa methode yang dimiliki oleh class JCheckBox yaitu sebagai berikut :
1) setEnabled(Boolean) = bisa diakses atau tidak.
2) isSelected() = true bila dipilih dan false sebaliknya
3) setSelected(Boolean) = true bila dipilih dan false sebaliknya
4) setMnemonic(KeyEvent.VK_O) = shortcut, O = Huruf
5) getText() = mendapatkan String
6) setFont(Font) = mengubah model huruf
7) setForeground(Color) = mengubah warna font
8) setText(String) = mengubah string pada JCheckBox
Okkita Rizan - 115 - Genap -
e. JRadioButton
Versi lamanya bernama RadioButton yang ada didalam package AWT.
JRadioButton digunakan untuk memilih salah satu dari sekian banyak pilihan yang
disediakan untuk user. Berbeda dengan class JCheckBox yang dapat memilih
minimal satu dan dapat memilih semua pilihan yang tersedia. Sebagai contoh
memilih jenis kelamin, harus memilih satu. Sehingga diperlukan class lain untuk
pengelompokkan. Class ini yaitu class ButtonGroup.
Bentuk deklarasi class JRadioButton yaitu sebagai berikut :
JRadioButton Nama_Objek = new JRadioButton (String,Boolean);
Contoh :
JRadioButton rdPria = new JRadioButton (“Pria”,true);
Beberapa methode yang dimiliki oleh class JRadioButton yaitu sebagai berikut :
1) setEnabled(boolean) = bisa diakses atau tidak.
2) isSelected() = true bila dipilih dan false sebaliknya
3) setSelected(Boolean) = true bila dipilih dan false sebaliknya
4) setMnemonic(KeyEvent.VK_O) = shortcut, O = Huruf
5) getText() = mendapatkan String
6) setFont(Font) = mengubah model huruf
7) setForeground(Color) = mengubah warna font
8) setText(String) = mengubah string pada JRadioButton
f. JComboBox
JComboBox digunakan memilih salah satu dari sekian banyak pilihan yang
disediakan untuk user. Prinsipnya sama dengan class JRadioButton. JComboBox
ini sering juga disebut dengan Drop-down List. Untuk memasukkan data kedalam
objek combo box memakai array 1 dimensi yang diurutkan berdasarkan
index.
Bentuk deklarasi class JComboBox yaitu sebagai berikut :
JComboBox Nama_Objek = new JComboBox (Array_of_list);
Contoh :
Dijelaskan lebih lanjut ke program.
Beberapa methode yang dimiliki oleh class JComboBox yaitu sebagai berikut :
1) setFont(Font) = mengubah model huruf.
2) setForeground(Color) = mengubah warna font.
3) setEnabled(boolean) = dapat diakses(true) atau tidak (false)
4) setSelectedIndex(index) = menentukan pilihan indeks awal (dari 0)
5) setMaximumRowCount(int) = Tampilan JComboBox begitu di-click.
6) addItemListener() = untuk interaksi dengan user.
7) getItemAt(indeks) = mengambil String yang dipilih.
8) getSelectedIndex() = mengambil indeks yang dipilih.
3. PENERAPAN CLASS GUI PADA PEMROGRAMAN
a. Memahami Class Container
Objek dari Class GUI tidak dapat langsung dimasukkan ke dalam frame
memakai Class JFrame. Class JFrame berfungsi untuk membuat bingkai dari
sebuah form (framenya), hanya bingkainya saja tanpa alas. jika objek dari
Class GUI ingin ditampilkan ke form maka diperlukan sebuah Class lain yang
berfungsi untuk menampung objek dari Class GUI. Salah satu Class ini
yaitu Class Container.
Class Container ada pada package AWT. Class ini berfungsi untuk
menampung objek dari class GUI pada sebuah form. Tanpa class ini objek tidak
bisa ditampung pada sebuah form. Urutannya dapat disederhanakan bahwa objek
GUI ditampung pada Class Container dan Class Container ditempel ke Class
JFrame, sehingga Class Container tidak dapat berdiri sendiri dan ukuran Class
Container mengikuti ukuran formnya (Class JFramenya).
b. Program memakai Class Container
Berikut yaitu contoh pemakaian beberapa class GUI pada pemrograman. Pada
contoh berikut digunakan Class Container dan Class JLabel. Class Container akan
menampung Class JLabel.
Nama Program : cthcontainer.java
Sintaks Program :
Output Program :
Penjelasan Program :
Class clsframe merupakan turunan dari Class JFrame.
import java.awt.* yaitu perintah untuk memanggil seluruh class yang ada
dalam package awt. Perintah ini digunakan karena memakai class container
ke dalam program.
import javax.swing.* yaitu perintah untuk memanggil seluruh class yang
ada dalam package swing. Perintah ini digunakan karena memakai Class
JFrame dan Class JLabel ke dalam program.
private Container konten = new Container() yaitu perintah membuat objek dari
class Container. Objek yang dibuat bernama konten.
Private menandakan objek ini hanya dapat digunakan didalam class itu
sendiri.private JLabel objlabel = new JLabel("Hai, Saya Label") yaitu proses
mendeklarasikan sebuah objek yang bernama objlabel dari class JLabel, sekaligus
menginstansiasikan objek ini berisikan “Hai, Saya Label”.
konten = getContentPane() yaitu perintah yang berfungsi untuk
menghubungkan class container dengan class JFrame, melalui objek konten.
konten.add(objlabel) yaitu perintah yang berfungsi menempelkan objek objlabel
ke dalam class container melalui objek konten.
Pada class main(), class clsframe dipanggil memakai prinsip anonymous
object.
CLASS LAYOUT MANAGER
1. MEMAHAMI CLASS LAYOUT MANAGER
Pada modul sebelumnya, sudah diperkenalkan mengenai Class Container. Dengan
Class Container ini, maka objek dari class GUI dapat ditampung dan ditampilkan.
Tetapi, permasalahan timbul jika hanya memakai Class Container
diantaranya:
Class Container hanya bisa menampung satu objek saja, sehingga jika ada
objek yang lain yang ingin ditampung pada Class Container, maka objek yang
lama akan digantikan dengan objek yang baru.
Class Container tidak dapat mengatur posisi objek pada form. Objek akan
ditempatkan ditengah sesuai dengan ukuran formnya.
Maka diperlukan cara yang lain sehingga Class Container dapat menampilkan lebih
dari satu objek dan mengatur tata letak objeknya pada form.
Salah satu cara yang dapat dilakukan yaitu dengan memakai Class lain yang
dapat mengatur tata letak objek dan secara otomatis dapat menempatkan lebih dari
satu objek pada Class Container. Class seperti ini disebut dengan Class Layout
Manager.
Pada Java, sudah disediakan beberapa Class Layout Manager diantaranya yaitu :
Class FlowLayout
Class GridLayout
Class BorderLayout
Class BoxLayout
Class CardLayout
Class GroupLayout
Class SpringLayout
Untuk memakai class ini, Class Container memerlukan method yang berfungsi
untuk memakai class ini . Method ini yaitu method setLayout().
Pada point berikutnya, akan ditunjukkan penerapan Class Layout Manager pada
pemrograman sekaligus ditunjukkan perbedaan dan karakteristik dari tiap-tiap class.
Class yang dicontohkan ada tiga yaitu Class Flowlayout, Class GridLayout dan Class
BorderLayout.
2. PENERAPAN CLASS FLOWLAYOUT PADA PEMROGRAMAN
Class FlowLayout merupakan layout manager yang sangat sederhana. memakai
class ini, maka objek pada container akan ditempatkan sesuai dengan urutan
penulisan objeknya dan mengikuti ukuran formnya. Sehingga urutan penambahan
komponen menjadi penting.
Class FlowLayout mempunyai konstanta untuk mengatur tata letak objek pada
Container. Konstanta ini yaitu LEFT, CENTER dan RIGHT. Default konstanta
dari Class ini yaitu CENTER, sehingga objek akan ditempatkan ditengah-tengah
Container mengikuti ukuran formnya.
Berikut contoh penerapan Class FlowLayout dengan beberapa Class GUI lainnya pada
pemrograman.
Contoh Program : cthflowlayout.java
Sintaks Program :
Output Program :
Penjelasan Program :
setResizable() yaitu sebuah method yang berfungsi untuk menentukan
apakah ukuran frame bisa diubah atau tidak. Ada dua parameter yang
disediakan yaitu true dan false. Gunakan parameter false jika
menginginkan ukuran form tidak dapat diubah-ubah.
konten.setLayout(new FlowLayout(FlowLayout.CENTER)), objek dari class
Containter (objek Konten) memakai method setLayout untuk
memakai Class FlowLayout. Konstanta yang digunakan yaitu CENTER,
sehingga objek akan ditempatkan ditengah-tengah container mengikuti ukuran
formnya.
pemakaian Class FlowLayout memakai konsep Anonymous Object,
sehingga pada contoh program diatas, objek dari class FlowLayout tidak
memiliki nama.
jika pada sintaks program :
konten.setLayout(new FlowLayout(FlowLayout.CENTER)), diubah dengan :
konten.setLayout(new FlowLayout(FlowLayout.LEFT)), maka output menjadi :
jika program diubah pada sintaks penambahan objek ke container menjadi
sebagai berikut :
Sehingga outputnya menjadi sebagai berikut :
Kesimpulannya, dengan metode flowlayout urutan dalam proses menambahkan objek
ke class container menentukan tampilan (layout) frame.
3. PENERAPAN CLASS GRIDLAYOUT PADA PEMROGRAMAN
Karakteristik dari Class GridLayout akan membagi container menjadi sejumlah tempat
dalam bentuk matrik dengan ukuran yang sama mengikuti ukuran form.
memakai Class GridLayout ini, area pada container akan dibagi dalam format
baris dan kolom. Akibatnya setiap objek akan memiliki ukuran yang sama, tidak
perduli bagaimana ukuran sebenarnya. Setiap kali terjadi perubahan ukuran form,
ukuran setiap objek juga akan berubah. Pada prinsipnya yang dipertahankan hanya
jumlah baris dan jumlah kololmnya saja.
Untuk memakai Class GridLayout ini, diperlukan dua buah parameter. Parameter
ini berfungsi untuk menentukan jumlah baris dan kolom.
Perhatikan contoh penggalan program berikut ini :
container.setlayout(new Gridlayout(1,2)), arti perintah ini yaitu membagi
area container menjadi 1 baris dan 2 kolom.
container.setlayout(new Gridlayout(2,1)), arti perintah ini yaitu membagi
area container menjadi 2 baris dan 1 kolom.
container.setlayout(new Gridlayout(2,2)), arti perintah ini yaitu membagi
area container dengan 2 baris dan 2 kolom
Berikut yaitu contoh penerapan Class GridLayout dalam pemrograman. Container
akan dibagi kedalam 2 baris dengan 3 kolom.
Nama Program : cthgridlayout.java
Sintaks Program :
Output Program :
jika sintaks program pada pada proses penambahan objek diubah menjadi
sebagai berikut :
Sehingga outputnya sebagai berikut :
Kesimpulannya yaitu urutan penambahan object pada class container
menentukan posisi objek pada container.
jika pada sintaks program :
setSize(200,100), diubah menjadi setSize(200,200), maka output menjadi :
Kesimpulannya Setiap kali terjadi perubahan ukuran frame, ukuran setiap
komponen juga akan berubah, mengikuti ukuran frame. Dan pada prinsipnya yang
dipertahankan hanya jumlah baris dan jumlah kolomnya saja
4. PENERAPAN CLASS BORDERLAYOUT PADA PEMROGRAMAN
Class BorderLayout memiliki karakteristik yang mirip dengan Class GridLayout, yaitu
membagi area pada Container. Karakteristik yang mirip tetapi tidaklah sama. jika
pada Class GridLayout akan dibagi dalam bentuk matrik (baris dan kolom) dengan
jumlah yang tidak ditentukan, maka pada Class BorderLayout membagi area dengan
jumlah yang sudah pasti (konstan).
Jumlah area maksimal yang dapat dibagi pada container yaitu sebanyak 5 area. 4
penamaan area mengikuti arah mata angin, sesuai dengan posisinya yaitu : NORTH
(Utara), EAST (Timur), SOUTH (Selatan) dan WEST (Barat). Area yang terakhir
terletak ditengah-tengah 4 area ini . Area ini dinamai dengan CENTER
(tengah). Penamaan ini yang kemudian akan menjadi parameter untuk memakai
Class BorderLayout ini.
Untuk lebih jelasnya mengenai pembagian area ini , dapat dilihat pada gambar
berikut :
Jika salah satu dari area tidak digunakan maka, area yang berdekatan akan
memakai area ini sebagai perluasan dari wilayahnya. Sebagai contoh jika
pemasangan komponen di NORTH, WEST dan CENTER maka bentuk tampilan akan
menjadi sebagai berikut :
Sehingga area WEST akan melebar mengambil area SOUTH sedangkan area CENTER
akan melebar mengambil area SOUTH dan EAST.
Berikut yaitu contoh program yang memakai Class BorderLayout untuk
mengatur objek pada container. Pada contoh berikut, objek yang ditempatkan ke
container merupakan objek dari class JButton.
CENTER
Nama Program : cthborderlayout.java
Sintaks Program :
Output Program :
jika perintah konten.add(btnUtara,BorderLayout.NORTH) dihilangkan, maka
output program menjadi sebagai berikut :
jika perintah konten.add(btnUtara,BorderLayout.EAST) dihilangkan, maka
output program menjadi sebagai berikut :
jika perintah konten.add(btnUtara,BorderLayout.NORTH) dan konten.add
(btnUtara,BorderLayout.EAST) dihilangkan, maka output program menjadi sebagai
berikut :
Kesimpulannya jika salah satu bagian tidak ada, maka bagian yang lain akan
memperluas wilayahnya, mengisi bagian yang tidak ada.
CLASS JPANEL
1. MEMAHAMI CLASS JPANEL
Pada modul sebelumnya, sudah diperkenalkan bagaimana menyusun beberapa objek
pada Container. Container ini dapat menampung dan mengatur beberapa objek
karena telah diatur memakai Class Layout Manager. Tetapi, dalam menyusun
objek hanya mengandalkan container dengan class Layout Manager ternyata masih
memiliki kekurangan.
Kekurangan ini diantaranya :
Dengan satu buah container hanya bisa memakai satu Class Layout Manager
saja dalam satu waktu. Hal ini mengakibatkan sulit untuk meletakkan berbagai
objek dari Class GUI yang memiliki karakteristik yang berbeda satu sama lain.
Dengan satu buah container dengan banyak objek dari class GUI didalamnya, sulit
untuk mengatur tata letaknya sesuai dengan keinginan.
Adapun kekurangan ini dapat diatasi dengan memakai class yang lain, yang
dapat mengatur banyak objek pada container. Class ini yaitu class JPanel.
Pada dasarnya class JPanel mempunyai fungsi yang sama dengan Class Container,
yaitu berfungsi untuk menampung objek class GUI. Sehingga class JPanel dapat juga
diatur memakai Class Layout Manager. Class JPanel tidak dapat berdiri sendiri
karena Class JPanel sebagai pelengkap dari container.
Perbedaan antara container tanpa class JPanel dan Container dengan Class JPanel
yaitu :
Container tanpa Class JPanel
sesudah container diatur memakai Class Layout Manager, maka objek dari
class GUI dapat diletakkan/ditampung kedalam Container.
Container dengan Class JPanel
Class JPanel diatur tata letaknya memakai Class Layout Manager, maka objek
dari class GUI dapat diletakkan/ditampung ke dalam Class JPanel. Container diatur
memakai Class Layout Manager, maka Class JPanel yang berisi objek dari
class GUI dapat diletakkan/ditampung kedalam Container.
jika diperlukan dan sesuai dengan kebutuhan, didalam Class JPanel dapat
diletakkan lagi Class JPanel yang diatur dengan Class Layout Manager.
Kesimpulannya, Container tetap sebagai alas dari frame dengan pengaturan tata letak
dan penampungan objek memakai Class JPanel.
MODUL
16
Okkita Rizan - 128 - Genap -
2. PENERAPAN CLASS JPANEL PADA PEMROGRAMAN
Berikut yaitu contoh penerapan Class JPanel pada pemrograman. Pada contoh
ini , dibuat 4 objek dari Class JPanel. Masing-masing dari objek ini berisi objek
dari class GUI, kemudian 4 objek dari Class JPanel ini ditampung ke alasnya, yaitu
Container.
Contoh Program : cthjpanel.java
Sintaks Program :
INTERFACE LISTENER
1. MEMAHAMI INTERFACE LISTENER
Pada modul sebelumnya, sudah diperkenalkan program yang memakai
beberapa class GUI dan class penampung objek dari class GUI sehingga menjadi satu
buah form. Tetapi form yang dihasilkan ini belum dapat menerima respon yang
diberikan oleh user pada saat form ini dijalankan. Artinya form belum dapat
berinteraksi dengan user.
Contoh :
Seorang programmer diminta untuk membuat sebuah form yang dapat menghitung
jumlah angka dari dua angka yang telah diinput. Maka, programmer dapat membuat
form dengan memanfaatkan dua buah Class GUI yaitu Class JTextField dan Class
JButton. Untuk Class JTextField dibuatkan 3 objek, dua objek berfungsi untuk
menampung angka yang diinput dan satu objek untuk menampilkan hasil
penjumlahan dari angka yang diinput ini . Sedangkan untuk Class JButton
dibuatkan satu buah objek yang berfungsi sebagai triger/pemicu untuk mendapatkan
hasil perhitungan.
Algoritma dari contoh ini yaitu :
Input angka pada dua objek dari Class JTextField yang telah disediakan
Klik objek dari Class JButton yang telah disediakan
Tampilkan hasil penjumlahan pada objek dari Class JTextField yang telah
disediakan
jika program disusun memakai cara yang diperkenalkan pada modul
sebelumnya, maka hasilnya yaitu program tidak dapat menampilkan hasil
penjumlahan dari angka yang telah diinput sebelumnya, walaupun objek dari Class
JButton diklik berulang kali.
Hasil ini terjadi karena objek tidak dapat menerima/mengerti apa yang diinginkan oleh
user. Pada Java, kejadian ini diartikan objek tidak dapat mendengarkan apa yang
diinginkan oleh user. Sehingga perlu cara agar objek bisa menjadi pendengar
(LISTENER) dan dapat mendengar apa yang diinginkan oleh user.
Pada contoh diatas, keinginan dari user yaitu jika mengklik sebuah tombol
(objek dari Class JButton), maka hasil penjumlahan akan ditampilkan pada text field
(objek dari Class JTextField).
MODUL
17
Pada pemrograman, proses mengklik sebuah tombol merupakan salah satu contoh
dari kejadian yaitu kejadian mengklik. Istilah ini disebut dengan EVENT.
Kesimpulannya, agar sebuah objek dapat mengerti apa yang diinginkan oleh user,
maka user ini harus dapat mendengar (LISTENER) sehingga dapat
melaksanakan kejadian (EVENT) yang diberikan oleh user.
Pada Bahasa Java, sudah menyiapkan beberapa Interface sehingga objek dapat
melaksanakan event dari user. Interface yang disediakan sesuai dengan event yang
diberikan. Beberapa Interface ini diantaranya :
a. Interface ActionListener
Berfungsi untuk menerima event yang ditimbulkan melalui mouse dan keyboard
b. Interface MouseListener
Berfungsi untuk menerima event yang ditimbulkan melalui mouse
c. Interface MouseMotionListener
Berfungsi untuk menerima event yang ditimbulkan melalui mouse
d. Interface KeyListener
Berfungsi untuk menerima event yang ditimbulkan melalui keyboard
Beberapa Event yang ditimbulkan oleh keyboard diantaranya :
Menekan tombol enter pada sebuah objek
Menekan tombol tertentu (selain enter) pada sebuah objek
Melepaskan tombol tertentu (selain enter) pada sebuah objek
Kursor meninggalkan sebuah objek pada saat menekan tombol tabulasi (tab).
dan beberapa event lainnya.
Beberapa Event yang ditimbulkan oleh mouse diantaranya :
Mengklik objek
Mendouble klik objek
Menggeser pointer mouse
Kursor meninggalkan sebuah objek pada saat mouse mengklik objek yang lain
dan beberapa event lainnya.
Pada modul sebelumnya sudah diperkenalkan bagaimana cara memakai
Interface dalam pemrograman, yaitu dengan mengimplementasikan interface pada
class yang memakai . Cirinya yaitu dengan memakai keyword
implements.
Selain implements, untuk memakai interface, sebuah class juga memakai
method-method yang sudah disiapkan oleh interface ini . Keempat Interface
ini memiliki method-method tersendiri dan tidak sama satu dengan yang lain.
Berikut dibawah ini keempat Interface yang akan dibahas satu persatu.
2. PENERAPAN INTERFACE ACTIONLISTENER PADA PEMROGRAMAN
Interface ini ada dapat package AWT. Sehingga perlu mengimport package
java.awt.event untuk memakai Interface ini. Interface ini berfungsi untuk
menerima event yang ditimpulkan oleh mouse dan keyboard.
Interface ActionListener menyediakan sebuah method agar sebuah objek dapat
menerima (mendengar) event dari user. Method ini bernama method
addActionListener(). Method ini membutuhkan sebuah parameter. Parameternya
yaitu sebuah class lain yang akan mengerjakan event yang sudah diterima oleh
Interface ActionListener. Class ini bernama ActionPerformed. Class ini
mempunyai method yang bernama method actionPerformed(). Method ini yang
akan mengerjakan event yang telah diterima oleh Interface ActionListener.
Dengan pengertian yang lain, pada Interface ActionListener ada sebuah Class
ActionPerformed dan didalam Class ini ada methode actionPerformed().
Jadi jika ada sebuah class yang mengimplementasi Interface ActionListener,
maka secara otomatis class ini juga mengimplementasi Class ActionPerformed,
sehingga class ini dapat memakai method dari Class ActionPerformed
untuk melaksanakan event yaitu method actionPerformed().
jika method actionPerformed() ditempatkan di Class yang sama dengan objek
yang memakai method addActionListener(), maka parameter pada method
addActionListener() cukup memakai perintah this. Dengan perintah this,
menandakan class ini yaitu class yang akan mengerjakan eventnya.
Berikut contoh penerapan Interface ActionListener. Pada contoh berikut, event
ini pada saat sebuah tombol diklik dan menampilkan sebuah pesan. Parameter
pada method addActionListener() memakai this karena method
actionPerformed() dari Class ActionPerformed ditempatkan di class yang sama,
tempat objek yang menerima event diciptakan.
Nama Program : cthactionlistener.java
Sintaks Program :
Output Program :
txtNIM & txtNama diinput, ketika Tombol Tampil diklik muncul pesan sebagai berikut :
Penjelasan Program :
import java.awt.event.*, yaitu perintah perintah untuk memanggil seluruh class
event yang ada dalam package awt. Perintah ini digunakan karena
memakai class actionPerformed ke dalam program.
class clsframe extends JFrame implements ActionListener yaitu perintah
menamai sebuah class bernama clsframe dan merupakan turunan dari class
JFrame. Class ini juga mengimplementasikan sebuah interface, dalam hal ini
interface ActionListener.
btnTampil.addActionListener(this) yaitu perintah menghubungkan sebuah objek
dengan interface, dalam hal ini interface ActionListener. Perintah this menandakan
objek yang dihubungkan dengan interface, menempati class yang sama terhadap
class yang diimplementasikan dengan interface. Dalam hal ini berada dalam satu
class clsframe.
public void actionPerformed (ActionEvent e) yaitu sebuah metode dari class
actionPerformed, parameter yang diberikan bernama e.
e.getSource()==btnTampil yaitu sebuah perintah memeriksa sebuah objek
dihubungkan dengan sebuah interface. Dalam hal ini objek btnTampil yang
diperiksa.
txtNIM.getText() yaitu perintah mengambil teks dari objek txtNIM.
JOptionPane.showMessageDialog( ) yaitu sebuah perintah untuk menampilkan
sebuah pesan.
3. PENERAPAN INTERFACE MOUSELISTENER PADA PEMROGRAMAN
Interface ini juga ada pada package java.awt.event. Interface ini berfungsi
untuk menangkap event yang ditimbulkan melalui mouse. Event yang ditimbulkan
melalui keyboard tidak dapat diterima/ditangkap oleh Interface ini.
Interface MouseListener menyediakan sebuah method agar sebuah objek dapat
menerima (mendengar) event dari user. Method ini bernama method
addMouseListener(). Method ini membutuhkan sebuah parameter. Parameternya
yaitu sebuah class lain yang akan mengerjakan event yang sudah diterima oleh
Interface MouseListener. Sama dengan Interface ActionListener, jika sebuah class
ada objek yang memakai method addMouseListener() dan pada class itu
juga yang akan mengerjakan eventnya, maka parameter pada method
addMouseListener() yaitu perintah this.
Untuk class yang akan mengerjakan event memakai Interface ini, harus
menyertakan beberapa method didalamnya walaupun tidak ada sintaks program yang
dikerjakan. Method ini yaitu :
a. Method mouseClick(mouseEvent)
Method dikerjakan pada saat tombol mouse ditekan lalu dilepaskan.
b. Method mouseEvent(mouseEvent)
Method dikerjakan pada saat kursor mouse memasuki area objek.
c. Method mouseExited(mouseEvent)
Method dikerjakan pada saat kursor mouse meninggalkan area objek.
d. Method mousePressed(mouseEvent)
Method dikerjakan pada saat tombol mouse ditekan.
e. Method mouseReleased(mouseEvent)
Method dikerjakan pada saat tombol mouse dilepaskan.
Dari beberapa method ini terlihat bahwa method mouseClick() merupakan
perpaduan antara method mousePressed() dengan method mouseReleased().
Untuk Class yang akan mengerjakan event yang ditimbulkan oleh mouse, maka class
ini harus mengimplementasi (implements) Interface MouseListener. Sama
seperti Interface ActionListener.
Berikut contoh program yang menerapkan Interface MouseListener. Contoh program
berikut akan ditunjukkan maksud dari 5 method diatas, sehingga dapat berinteraksi
dengan user.
Nama Program : cthmouselistener.java
Sintaks Program :
Output Program :
Tunjuk atau klik
mouse pada objek ini,
maka akan terlihat
event mouseListener
yang sedang
dikerjakan
4. PENERAPAN INTERFACE MOUSEMOTIONLISTENER PADA PEMROGRAMAN
Interface yang ada pada package java.awt.event ini merupakan Interface yang
digunakan sebagai pendukung dari Interface MouseListener.
Interface MouseMotionListener menyediakan dua buah method yaitu :
a. Method mouseDragged (MouseEvent)
Method ini berfungsi untuk memantau pergerakan mouse pada saat melintasi
sebuah objek pada saat mouse ditekan. Sama seperti pergerakan pada saat
memindahkan objek di windows.
b. Method mouseMoved (MouseEvent)
Method ini berfungsi untuk memantau pergerakan mouse pada saat melintasi area
sebuah objek. Method ini memantau pergerakan pointer mouse yang melintasi
area objek tanpa menekan tombol pada mouse. Ini yang membedakan method
mouseDragged dengan method mouseMoved.
Sebagai pendukung dari Inteface MouseListener, maka urutan pelaksanaan method
dari kedua Interface ini yaitu :
Method mouseEntered(MouseEvent), dijalankan saat pointer mouse digerakkan
memasuki area objek.
Method mouseMoved(MouseEvent), dijalankan saat pointer mouse digerakkan
melintasi objek dalam kondisi tidak ada tombol mouse yang ditekan.
Method mousePressed(MouseEvent), dijalankan saat tombol mouse ditekan.
Method mouseDragged(MouseEvent), dijalankan saat pointer mouse digeser
melintasi objek sambil tombol mouse ditekan.
Method mouseClicked(MouseEvent), dijalankan saat tombol mouse dilepas sesudah
ditekan dengan rentan waktu yang tidak terlalu lama.
Method mouseReleased(MouseEvent), dijalankan saat tombol mouse dilepas.
Method mouseExited(MouseEvent), dijalankan saat pointer mouse meninggalkan
area objek.
Interface MouseMotionListener menyediakan sebuah method agar sebuah objek dapat
menerima (mendengar) event dari user. Method ini bernama method
addMouseMotionListener(). Method ini membutuhkan sebuah parameter.
Parameternya yaitu sebuah class lain yang akan mengerjakan event yang sudah
diterima oleh Interface MouseMotionListener. Sama dengan Interface ActionListener
maupun Interface MouseListener, jika sebuah class ada objek yang
memakai method addMouseMotionListener() dan pada class itu juga yang akan
mengerjakan eventnya, maka parameter pada method addMouseMotionListener()
yaitu perintah this
Untuk Class yang akan mengerjakan event yang ditimbulkan oleh mouse, maka class
ini harus mengimplementasi (implements) Interface MouseMotionListener. Sama
seperti Interface ActionListener maupun Interface MouseMotionListener.
Berikut contoh program yang menerapkan Interface MouseMotionListener. Contoh
program berikut akan ditunjukkan maksud dari 2 method diatas, sehingga dapat
berinteraksi dengan user.
Nama Program : testMouseMotionListener.java
Sintaks Program :
Output Program :
5. PENERAPAN INTERFACE KEYLISTENER PADA PEMROGRAMAN
Interface KeyListener yaitu Interface yang mengerjakan event yang ditimbulkan
melalui keyboard. Interface yang ada pada package java.awt.event ini memiliki
tiga buah method untuk mengerjakan event.
Ketiga method pada Interface KeyListener ini yaitu :
a. Method keyPressed (KeyEvent)
Method ini akan dikerjakan jika sebuah tombol pada keyboard ditekan.
b. Method keyReleased (KeyEvent)
Method ini akan dikerjakan jika sebuah tombol pada keyboard dilepas.
c. Method keyTyped (KeyEvent)
Method ini akan dikerjakan jika sebuah tombol pada keyboar ditekan dan
dilepas dalam waktu yang tidak lama.
Walaupun tidak semua method akan digunakan pada pemrograman, class yang
mengimplementasikan method ini harus menyertakan ketiga methodnya dalam
program.
Interface KeyListener menyediakan sebuah method agar sebuah objek dapat
menerima (mendengar) event dari user. Method ini bernama method
addKeyListener(). Method ini membutuhkan sebuah parameter. Parameternya
yaitu sebuah class lain yang akan mengerjakan event yang sudah diterima oleh
Interface KeyListener. Sama dengan ketiga Interface sebelumnya, jika sebuah
class ada objek yang memakai method addKeyListener() dan pada class itu
juga yang akan mengerjakan eventnya, maka parameter pada method
addKeyListener() yaitu perintah this.
Berikut contoh program yang menerapkan Interface KeyListener. Contoh program
berikut akan ditunjukkan maksud dari 3 method diatas, sehingga dapat berinteraksi
dengan user.
geser atau drag
mouse pada objek ini,
maka akan terlihat
event
MouseMotionListener
yang sedang
dikerjakan
Nama Program : testKeyListener.java
Sintaks Program :
Output Program :
Penjelasan Program :
Class BingkaiKu mengimplementasi Interface KeyListener. Terlihat pada
pemberian nama classnya.
Event terjadi pada objek jtestKey dari Class JTextField karena method
addKeyListener diberikan pada objek ini .
Hasil dari event terlihat jika tombol enter ditekan atau dilepas saat kursor
berada pada objek jtestKey.
Hasil dari eventnya akan ditunjukkan pada objek hasilKey dari Class JTextField.


