0% menganggap dokumen ini bermanfaat (0 suara)
405 tayangan16 halaman

Bab 12 - Komponen Visual Java Dengan Swing

Dokumen tersebut membahas tentang komponen visual Java Swing. Ia menjelaskan tentang Java Foundation Classes (JFC) yang berisi kumpulan class untuk membangun GUI Java. Dokumen ini juga menjelaskan fitur-fitur penting JFC seperti Swing components, Look and Feel, Java 2D API, dan Internationalization. Selanjutnya dibahas struktur komponen Swing dan contoh kode untuk menggunakan label, text field dan tombol.

Diunggah oleh

Firman Syah
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
405 tayangan16 halaman

Bab 12 - Komponen Visual Java Dengan Swing

Dokumen tersebut membahas tentang komponen visual Java Swing. Ia menjelaskan tentang Java Foundation Classes (JFC) yang berisi kumpulan class untuk membangun GUI Java. Dokumen ini juga menjelaskan fitur-fitur penting JFC seperti Swing components, Look and Feel, Java 2D API, dan Internationalization. Selanjutnya dibahas struktur komponen Swing dan contoh kode untuk menggunakan label, text field dan tombol.

Diunggah oleh

Firman Syah
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 16

BAB XII

KOMPONEN VISUAL JAVA dengan SWING

JAVA FOUNDATION CLASS (JFC)


Java Foundation Class (JFC) merupakan sekumpulan class-class Java yang
digunakan untuk mengembangkan perangkat lunak berbasis GUI (Graphical User Interface).
Selain itu, JFC juga mempunyai class-class yang digunakan untuk menambahkan fungsi dan
kemampuan interaksi yang variatif dari pemrograman Java. Dari defnisi ini, JFC tidak hanya
berisi class-class GUI saja tetapi juga class-class lain yang dapat meningkatkan kemampuan
pemrograman Java baik dari segi fungsionalitasnya maupun dari segi kemampuan interaksi
pemrograman Java yang sangat kaya.

FITUR JFC
FITUR DESKRIPSI
Komponen Swing Memuat semua class-class yang dibutuhkan
untuk membuat aplikasi berbasis GUI, dari
tombol, table, tab, menu, toolbar dan
sebagainya
Look and Feel (LaF) Memberikan kemampuan kepada program
Java yang dikembangkan menggunakan
library Swing untuk memilih tema tampilan.
Misalnya sebuah program yang sama dapat
mempunyai tampilan windows LaF atau Java
LaF, atau LaF lain yang dikembangkan oleh
komunitas seperti JGoodies.
Accessibility API Faslititas untuk mengembangkan aplikasi
bagi penyandang cacat, misalnya dukungan
untuk membuat huruf braile, kemampuan
mengambil input dari layar sentuh dan
sebagainya.
Java 2D API Berisi kumpulan class-class yang dapat

Modul "Teori PEMROGRAMAN BERORIENTASI OBJEK" KOMPONEN VISUAL JAVA


dengan SWING – AKNELA 2014
digunakan untuk memanipulasi object-object
2 dimensi, sperti garis, kotak, lingkaran,
kurva dan lain sebagainya. Selain itu Java 2D
API juga memberikan kemampuan program
yang ditulis menggunakan Java untuk
mencetak output ke alat pencetak seperti
printer.
Drag-and-Drop Menyediakan kemampuan drag-and-drop
antara program Java dan program lain yang
ditulis spesifk untuk suatu platform sistem
operasi tertentu.
Internationalization (i18n) Membantu pengembang perangkat lunak
untuk membangun aplikasi yang dapat
mendukung semua bahasa dan huruf yang
ada di dunia.

Pemilihan komponen dan library Swing yang tepat dapat mempengaruhi kualitas
program yang kita buat secara signifkan. Hal ini dikarenakan, dalam dunia Java Standard
Edition, lebih spesifk lagi aplikasi Java yang dibangun menggunakan Swing, belum ada
framework yang benar-benar komprehensif membimbing pengembang untuk membuat
aplikasi yang berkualitas.
Pada umumnya aplikasi yang dikembangkan dengan Swing mempunyai kode yang
sangat 'kotor', dimana kode yang berisi pengendalian terhadap event komponen Swing
bercampur aduk dengan kode yang berisi aturan bisnis dan kode yang berisi manipulasi
terhadap data.
Komunitas Java juga menyediakan banyak sekali library Swing, antara lain dari
Swingx dan JGoodies yang mengembangkan library standard Swing dengan menambahkan
berbagai macam feature menarik. Sedangkan komunitas dari javadesktop.org
mengembangkan banyak sekali library Swing untuk keperluan khusus. Nyaris semua
komponen yang kita perlukan baik komponen umum hingga komponen untuk tujuan khusus
banyak tersedia di internet, kita tinggal mencari dan menggunakan.
Praktek yang baik dalam memilih komponen apa yang tepat adalah dengan mencari
dahulu informasi di internet. Hal ini sangat bermanfaat untuk mengurangi waktu kita

Modul "Teori PEMROGRAMAN BERORIENTASI OBJEK" KOMPONEN VISUAL JAVA


dengan SWING – AKNELA 2014
mengembangkan komponen, sehingga kita bisa lebih banyak berkonsentrasi untuk
mengembangkan sisi bisnis dan usability dari software yang kita kembangkan. Sebaik apapun
softeware yang kita buat tapi tidak memberikan nilai tambah terhadap masalah yang dihadapi
adalah kesia-siaan belaka. Banyak sekali software yang dianggap gagal memberikan nilai
tambah terhadap masalah yang dihadapi hanya karena tampilan GUI-nya sangat susah
dipahami dan tidak intuitif.

STRUKTUR KOMPONEN SWING


Secara arsitektur, Swing dibangun di atas arsitektur AWT (Abstract Windows
Toolkit). AWT adalah GUI toolkit yang dikembangkan oleh Sun engineer sebelum Swing
muncul. Kelemahan utama AWT adalah fleksibilitas tampilan GUI, seperti painting method
yang masih sangat primitif. Swing dimaksudkan untuk memperbaiki kekurangan dari AWT
tanpa harus membuang teknologi yang sudah dibuat dan membuat GUI toolkit baru dari nol.
Komponen AWT diletakkan dalam satu package yaitu java.awt, didalamnya terdapat
komponenkomponen GUI dasar, salah satunya adalah Component. Class Component adalah
moyang dari sebagian besar komponen AWT maupun Swing. CheckBox, Label, Button dan
beberapa komponen AWT lainnya adalah turunan langsung dari class Component. Namun
dalam kenyataanya arsitektur demikian tidak memberikan fleksibilitas yang cukup memadai
untuk membuat berbagai macam komponen baru yang dibutuhkan dalam desktop application.
Swing muncul dengan membawa teknologi AWT yang telah ditambahkan dengan banyak
kemampuan. Nyaris semua komponen GUI dari Swing merupakan turunan class Container
dan class Container adalah turunan dari class Component.

BEKERJA DENGAN JLABEL, JTEXTFIELD DAN JBUTTON


Bekerja dengan komponen Swing menggunakan Matisse sangat menyenangkan dan
mudah. GroupLayout yang sangat fleksibel memungkinkan kita untuk membuat aplikasi
dengan tampilan seperti yang kita harapkan. Label, textfeld dan tombol adalah komponen-
komponen dasar yang selalu ada dalam setiap aplikasi berbasis desktop. Ketiga komponen ini
mempunyai fungsi yang sangat sederhana, textfeld menyimpan data berbentuk text (string)
yang relatif pendek , label banyak digunakan untuk memberikan keterangan penjelas terhadap
komponen lain dan tombol digunakan user untuk menjalankan satu instruksi tertentu. Berikut
ini adalah contoh aplikasi sederhana yang melakukan penjumlahan dua buah bilangan.
Untuk membuat aplikasi ini menggunakan Matisse, lakukan langkah-langkah berikut ini:

Modul "Teori PEMROGRAMAN BERORIENTASI OBJEK" KOMPONEN VISUAL JAVA


dengan SWING – AKNELA 2014
1. Buat project baru di Netbeans (kalau sudah membuat project, tidak perlu membuat lagi)
dengan cara memilih menu :
File > New Project

Kemudian ikuti petunjuk yang diberikan dialog.


2. Buat class JFrame baru, caranya dengan memilih menu :
File > New File

Gambar 1. Membuat Jendela dengan JFrame


3. Pilih kategori :
Java GUI Forms > JFrame Form

Seperti pada dialog New File di atas, kemudian beri nama Penjumlahan.java
4. Buat tampilan form seperti gambar bawah ini, caranya dengan klik Jendela Pallete di
sebalah kanan untuk memilih komponen apa yang akan dibuat, kemudian klik di jendela
Design untuk menempatkan komponen yang sudah dipilih tadi ke dalam form. Hasilnya
terlihat seperti pada gambar di bawah ini:

Gambar 2. Desain tampilan aplikasi


Modul "Teori PEMROGRAMAN BERORIENTASI OBJEK" KOMPONEN VISUAL JAVA
dengan SWING – AKNELA 2014
5. Ganti nama setiap komponen agar mudah dikenali. Klik kanan di atas setiap komponen
yang ada dalam Jendela Design di atas, kemudian pilih menu :
Klik kanan > Change Variable Name ...

Ganti nama komponen-komponen tersebut (sesuai urutan dari kiri ke kanan, atas ke
bawah) menjadi : lblKeterangan, txtA, lblPlus, txtB, btnHitung, lblHasil.
6. Menambahkan variabel untuk menampung nilai yang akan dijumlahkan. Klik tombol
Source untuk membuka jendela yang menampilkan kode sumber dari program di atas
kemudian tambahkan kode di bawah ini tepat di bawah defnisi dari class Penjumlahan:
private String str = "Hasilnya adalah : ";
private int a, b;

7. Menangani penekanan tombol btnHitung. Klik kanan di atas komponen btnHitung


kemudian pilih menu :
Events > Action > actionPerformed

Anda akan dibawa ke jendela Source, dan akan menemukan kode program seperti di
bawah ini :
private void btnHitungActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
}

Ubah kode program di atas menjadi :


private void btnHitungActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
a = Integer.parseInt(txtA.getText());
b = Integer.parseInt(txtB.getText());
int hasil = a + b;
lblHasil.setText(str + hasil);
}

8. Compile dan jalankan program. Tekan tombol SHIFT + F6, atau klik kanan file
Penjumlahan.java kemudian pilih menu Run File.
Catatan :
- Method Integer.parseInt digunakan untuk merubah String menjadi Integer.
- Method btnHitungActionPerformed akan dipanggil setiap kali kita memencet tombol
btnHitung.

Modul "Teori PEMROGRAMAN BERORIENTASI OBJEK" KOMPONEN VISUAL JAVA


dengan SWING – AKNELA 2014
Sekarang anda bisa melihat bahwa bekerja dengan JLabel, JTextField dan JButton sangat
sederhana. Untuk latihan, silahkan rubah fungsi yang digunakan dalam program di atas,
misalnya perkalian dua bilangan atau pengurangan dua bilangan.

MENDAPATKAN DAN MENGISI NILAI INPUT JTEXTFIELD


Untuk mendapatkan nilai dari komponen input TextField, dapat menggunakan metode
dengan sintaks:
<NamaObjek>.getText();
Dimana:
NamaObjek adalah adalah nama dari objek komponen input textfield
getText() adalah metode untuk mendapatkan nilai input dari textfield
contoh:
String satu = txInputSatu.getText();
statement diatas akan menangkap nilai input dari textfield dengan nama objek
txInputSatu dan hasil nilainya akan ditampung pada variabel dengan tipe data String
dengan nama variabelnya satu.
Hasil nilai dari input komponen textfield memiliki tipe data string, untuk dapat
dikonversi ke tipe data yang lain gunakan CASTING/konversi tipe data. Dalam java
proses konversi tipe data dapat dilakukan dengan berbagai cara:
a. Konversi dari String ke Integer
Integer.parseInt( <NamaObjek> );

Sintak diatas akan mengkonversi nilai input dari NamaObjek ke dalam tipe Integer.
Contoh penggunaaan:
String txInputSatu = “100”;
Int satu = Integer.parseInt( txInputSatu );

Pernyataan diatas akan mengkonversi nilai dari txInputSatu(semula tipe String) dan
akan dikonversikan ke tipe Integer,hasil konversi akan ditampung ke dalam variabel
dengan tipe Integer dengan nama variabelnya satu. Cara ini biasa dilakukan ketika
data yang diinput akan diolah dalam operasi aritmatika, semisal perhitungan,
perkalian, pembagian.
b. Konversi dari Integer ke String
String.valueOf( <NamaObjek> );

Modul "Teori PEMROGRAMAN BERORIENTASI OBJEK" KOMPONEN VISUAL JAVA


dengan SWING – AKNELA 2014
Sintak diatas akan mengkonversi nilai input dari NamaObjek dengan tipe Integer ke
bentuk tipe String. Contoh penggunaan:

Int txInputSatu = 100;


String satu = String.valueOf( txInputSatu );

Pernyataan diatas akan mengkonversi nilai dari input txInputSatu(semula tipe


Integer) dan akan dikonversikan ke tipe String,hasil konversi akan ditampung ke
dalam variabel dengan tipe String dengan nama variabelnya satu.

Untuk mengisikan nilai dari komponen input TextField, dapat menggunakan metode
dengan sintaks:
<NamaObjek>.setText( <NilaiTipeString> );
Dimana:
NamaObjek adalah adalah nama dari objek komponen input textfield
setText() adalah metode untuk mendapatkan nilai input dari textfield
NilaiTipeString adalah nilai yang akan di isikan pada textfield dengan tipe string
contoh:
String satu = “100”;
txInputSatu.setText( satu );

statement diatas akan mengisi nilai input dari textfield dengan nilai pada variabel
satu.

BEKERJA DENGAN JCHECKBOX DAN JRADIOBUTTON


JCheckBox dan JRadioButton hanya bisa mempunyai dua buah kemungkinan nilai,
benar atau salah. Jcheckbox da JRadiobutton digunakan untuk menampilkan pilihan, contoh:
memilih agama, jenis kelamin, jurusan kuliah, hobby, minat pekerjaan. Perbedaannya,
Checkbox, user bisa memilih lebih dari satu pilihan. Contoh penggunaan dari Jcheckbox
adalah memilih hobby, dimana satu orang bisa memiliki lebih dari satu hoby minat pekerjaan,
dimana satu orang bisa memiliki minat lebih dari satu pekerjaan.. Sedangkan komponen
Radiobutton hanya bisa digunakan untuk memilih satu pilihan saja, contoh penggunaan
JRadiobutton adalah memilih agama, jenis kelamin, status pernikahan. Kedua komponen ini
digunakan untuk merepresentasikan data yang berupa pilihan. JCheckBox digunakan jika
pilihanya berupa multiple selection, sedangkan JRadioButton digunakan jika pilihanya

Modul "Teori PEMROGRAMAN BERORIENTASI OBJEK" KOMPONEN VISUAL JAVA


dengan SWING – AKNELA 2014
berupa single selection. JRadioButton digunakan misalnya untuk merepresentasikan pilihan
jenis kelamin. JCheckBox digunakan misalnya untuk merepresentasikan pilihan hobby.
ButtonGroup diperlukan untuk mengumpulkan JRadioButton yang mempunyai grup
pilihan yang sama. Misalnya grup pilihan jenis kelamin digunakan untuk mengumpulkan
JRadioButton yang merepresentasikan pilihan laki-laki dan JRadioButton yang
merepresentasikan pilihan perempuan dalam satu group. Jika JRadioButton tidak diletakkan
dalam satu group, maka pilihan laki-laki dan pilihan perempuan bisa dipilih bersamaan.
Status dari JRadioButton dan JCheckBox dapat diketahui dengan melihat nilai kembalian dari
method isSelected, jika dipilih maka nilai kembalian method isSelected adalah benar, dan
false jika sebaliknya. Setiap JRadioButton dan JCheckBox mempunyai text yang
menerangkan pilihan yang diwakilinya. Method getText dan setText digunakan untuk
memanipulasi text. Di bawah ini adalah contoh program yang menggunakan JCheckBox dan
JRadioButton.

A. KOMPONEN JRADIOBUTTON
Radiobutton memiliki sifat yaitu sedang ditandai(dipilih) dan tidak ditandai. Untuk
mengetahui kondisi dari radiobutton sedang dipili atau tidak, bisa menggunakan metode
"isSelected". Sintak penulisan secara umum :

<NamaObjekRadioButton>.isSelected;

Sintak diatas digunakan untuk mendapatkan kondisi dari pilihan radiobutton, hasil kondisinya
ada dua yaitu TRUE(sedang ditandai) dan FALSE(sedang tidak ditandai). Contoh
penggunaan untuk sintak diatas adalah :

JRadiobutton rbLakiLaki = new


JRadiobutton;
Boolean pilihan;

rbLakiLaki.setText("LAKI - LAKI");
pilihan = rbLakiLaki.isSelected();

Pada potongan program diatas, variabel pilihan akan berisi kondisi dari objek radiobutton
rbLakiLaki. Sedangkan Untuk mendapatkan Nilai keterangan/teks dari radiobutton, dapat
menggunakan metode "getText()", Sintak Penulisan secara umum :
<NamaObjekRadioButton>.getText();

Modul "Teori PEMROGRAMAN BERORIENTASI OBJEK" KOMPONEN VISUAL JAVA


dengan SWING – AKNELA 2014
Contoh penggunaan ditunjukkan pada potongan program dibawah ini:
JRadiobutton rbPerempuan = new JRadiobutton();
rbPerempuan.setText("Perempuan");

String nilai = rbPerempuan.getText();

B. KOMPONEN JCHECKBOX
Checkbox memiliki sifat yaitu sedang ditandai(dipilih) dan tidak ditandai. Untuk
mengetahui kondisi dari Checkbox sedang dipilih atau tidak, bisa menggunakan metode
"isSelected". Sintak penulisan secara umum yaitu:
<NamaObjekCheckbox>.isSelected;
Sintak diatas digunakan untuk mendapatkan kondisi dari pilihan checkbox, hasil kondisinya
ada dua yaitu TRUE(sedang ditandai) dan FALSE(sedang tidak ditandai). Untuk
mendapatkan Nilai keterangan/teks dari checkbox, dapat menggunakan metode "getText()"
Sintak Penulisan:
<NamaObjekCheckbox>.getText();

Gambar 3. Desain tampilan aplikasi

Pada Sub Bab ini, terdapat dua JRadioButton untuk merepresentasikan pilihan tipe
warna, transparan atau berwarna. Selain itu terdapat pilihan warna yang dapat dipilih lebih
dari satu buah menggunakan JcheckBox (gambar 3). Untuk membuat program di atas ikuti
langkah-langkah berikut ini:
1. Buat class baru bertipe JFrame Form, kemudian beri nama Pilihan.java
2. Buat tampilan di atas menggunakan Matisse. komponen yang harus dibuat adalah :

Modul "Teori PEMROGRAMAN BERORIENTASI OBJEK" KOMPONEN VISUAL JAVA


dengan SWING – AKNELA 2014
 Dua object JRadioButton : radioBerwarna dan radioTransparan.
 Satu object ButtonGroup : groupTipeWarna.
 Empat object JCheckBox : chkHijau, chkBiru, chkMerah, chkKuning.
 Satu object JTextArea : txtWarna.
 Satu object JScrollPane : scrollWarna

 Satu object Jlabel : lblTipeWarna
Untuk melihat semua komponen yang ada dalam Jendela Design, gunakan Jendela
Inspector di sisi kiri bawah.

3. Masukkan object radioBerwarna dan radioTransparan ke dalam object groupTipeWarna.


Caranya dengan :
a. Memilih komponen radioBerwarna di Jendela Design
b. Klik tab code di Jendela Properties
c. Pilih properti : Post-Creation Code
d. Masukkan kode berikut ini kedalam dialog yang muncul :
groupTipeWarna.add(radioBerwarna);

Lakukan langkah yang sama terhadap object radioTransparan.


4. Menangani event ketika JRadioButton diklik. Caranya dengan :
a. Memilih komponen radioBerwarna di Jendela Design
b. Klik kanan komponen radioBerwarna, kemudian pilih menu:
Event > Action > actionPerformed

c. Anda akan dibawa ke dalam Jendela Code, dan menemukan kode berikut ini :
private void radioBerwarnaActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
}

Ubahlah kode di atas menjadi :


private void radioBerwarnaActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
if(radioBerwarna.isSelected()){
lblTipeWarna.setText("Tipe warna : " +
radioBerwarna.getText());
}
}

Modul "Teori PEMROGRAMAN BERORIENTASI OBJEK" KOMPONEN VISUAL JAVA


dengan SWING – AKNELA 2014
Lakukan langkah yang sama terhadap radioTransparan.
5. Buat sebuah private method untuk menangani event pemilihan terhadap JCheckBox.
Method tampilkanWarna ini nantinya akan dipanggil setiap kali salah satu dari
JCheckBox dipilih. yang dilakukan oleh metod tampilkanWarna adalah mengecek status
setiap JCheckBox, apakah sedang dipilih atau tidak. Jika sedang dipilih maka text dari
JCheckBox tersebut akan ditampilkan dalam txtWarna.
Class StringBuffer digunakan untuk menampung nilai text dari JCheckBox yang
statusnya terpilih.

private void tampilkanWarna(){


StringBuffer warna = new StringBuffer();
if(chkBiru.isSelected()){
warna.append(chkBiru.getText() + " ");
}
if(chkHijau.isSelected()){
warna.append(chkHijau.getText() + " ");
}
if(chkKuning.isSelected()){
warna.append(chkKuning.getText() + " ");
}
if(chkMerah.isSelected()){
warna.append(chkMerah.getText() + " ");
}
txtWarna.setText(warna.toString());
}

6. Menangani event pemilihan JCheckBox. Caranya sebagai berikut :


a. Pilih komponen chkHijau di Jendela Design.
b. Klik kanan komponen chkHijau untuk memunculkan context (popup) menu.
c. Pilih menu :
Event > Action > actionPerformed

d. Anda akan dibawa ke Jendela Code, kemudian dalam method


chkHijauActionPerformed tersebut panggil method tampilkanWarna. seperti di
bawah ini :
private void chkHijauActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
tampilkanWarna();
}

Lakukan hal ini untuk semua JCheckBox.


7. Compile dan jalankan program dengan menekan tombol SHIFT + F6.
Cara lain dalam menampilkan pilihan adalah dengan menggunakan JList dan
JComboBox. Kedua komponen ini mempunyai fleksibilitas yang lebih tinggi dan lebih

Modul "Teori PEMROGRAMAN BERORIENTASI OBJEK" KOMPONEN VISUAL JAVA


dengan SWING – AKNELA 2014
mudah digunakan jika object yang dimasukkan dalam pilihan lebih kompleks. JList dan
JComboBox bisa mempunyai ComponentEditor agar pilihan yang ditampilkan tidak
hanya berupa text, bisa berupa warna atau icon. Bagian berikutnya akan membahas
bagaimana bekerja menggunakan JList dan JComboBox.

BEKERJA DENGAN JLIST DAN JCOMBOBOX


JComboBox memerlukan tempat yang minimalis dibandingkan dengan
JRadioButton, selain itu JComboBox mempunyai bentuk ComboBox yang dapat diedit,
sehingga memungkinkan user untuk memilih pilihan yang tidak ada dalam item JComboBox.

Gambar 4. Contoh komponenJComboBox

JList memungkinkan multiple selection dengan menekan tombol : SHIFT + Left Click atau
CTRL + Left Click. Kemampuan ini membantu user jika harus melakukan multiple selection.
JComboBox dan JList sangat fleksibel, kita dapat menambah dan menghapus item di
dalamnya dengan sangat mudah. Sehingga cocok digunakan untuk merepresentasikan pilihan
yang item pilihannya bersifat dinamis. Aplikasi di bawah ini adalah contoh penggunaan
JComboBox dan JList.

A. KOMPONEN SWING JCOMBOBOX


JCombobox digunakan untuk menampilkan pilihan dimana pengguna hanya
diijinkan untuk memilih satu pilihan dari item yang disediakan. Seperti halnya komponen
Radiobutton yang sama-sama digunakan untuk menampilkan pilihan, akan tetapi perbedaan
dari komponen Combobox ini adalah semua item pilihan disembunyikan dan hanya
ditampilkan item yang sedang dipilih saja, seluruh item akan ditampilkan ketika pengguna
menekan menu pada combobox dan item pilihan akan ditampilkan dalam bentuk popup
menu. Untuk mendapatkan item yang sedang dipilih oleh pengguna dapat memanggil metode
"getSelectedItem". Secara umum sintak penulisan seperti berikut ini:

Modul "Teori PEMROGRAMAN BERORIENTASI OBJEK" KOMPONEN VISUAL JAVA


dengan SWING – AKNELA 2014
<NamaObjekJCombobox>.getSelectedItem();

Item pilihan pada Jcombobox dapat kita isikan dengan memanggil metode “addItem”, yang
dapat dituliskan secara umum sintaknya seperti dibawah ini:
<NamaObjekJCombobox>.addItem( <String Item Pilihan> );

Contoh pengguanaan dari metode ini dapat dilihat pada potongan baris program dibawah ini.
private javax.swing.JComboBox cmbKecamatan;
cmbKecamatan = new javax.swing.JComboBox();

cmbKecamatan.addItem("BABAT");
cmbKecamatan.addItem("PUCUK");
cmbKecamatan.addItem("SUKODADI");
cmbKecamatan.addItem("LAMONGAN");

Alternatif dari cara diatas untuk menambahkan item dapat menggunakan kelas dari
combobox “DefaultComboBoxModel” dimana kelas ini meminta untuk mengisikan item
pilihan dalam bentuk array. Cara ini efektif digunakan jika item pilihan dalam bentuk array
atau diambil dari data suatu tabel pada database. Setelah ditentukan model dari objek
Combobox baru kita panggil metode dengan nama “setModel” yang akan memberitahu
bahwa combobox tersebut kita isi dengan model yang sudah didefinisikan sebelumnya.
Contoh potongan program dibawah ini akan menjelaskan maksud dari tulisan diatas, hasil
modifikasi dari contoh sebelumnya.
private javax.swing.JComboBox cmbKecamatan;
cmbKecamatan = new javax.swing.JComboBox();
String[] itemKecamatan = {"BABAT", "PUCUK", "SUKODADI", "LAMONGAN"};
DefaultComboBoxModel<String> model = new DefaultComboBoxModel(
itemKecamatan );
cmbKecamatan.setModel(model);

Selain menambahkan item pilihan kita juga dapat menghapus/membersihkan seluruh item
pada Jcombobox dengan metode :
<NamaObjekJCombobox>.removeAllITems();

Modul "Teori PEMROGRAMAN BERORIENTASI OBJEK" KOMPONEN VISUAL JAVA


dengan SWING – AKNELA 2014
Gambar 5. Contoh aplikasi menggunakan JcomboBox dan JList

Bagian pertama program ini terdapat sebuah JComboBox dan JLabel, setiap kali
item di dalam JComboBox dipilih, JLabel di sebelahnya akan menampilkan item yang dipilih
tersebut. Bagian kedua program ini terdapat sebuah JList dan JTextArea. Setiap kali item-
item di dalam JList dipilih, JTextArea akan menampilkan item-item yang dipilih tersebut
dipisahkan dengan koma (,).
Berikut langkah-langkah untuk membuat aplikasi dengan mengintegrasikan JcomboBox dan
Jlist dengan rancangan antarmuka seperti gambar diatas.
1. Buatlah class JFrame Form baru dan beri nama ListAndCombo.java.
2. Buat tampilan program di atas menggunakan Matisse, kemudian tambahkan
komponenkomponen:
a. Empat buah JLabel : lblPekerjaan, lblPilihanPekerjaan, lblHobby, lblPilihanHobby.
b. Satu buah JComboBox : cmbPekerjaan
c. Satu buah JList : lstHobby
d. Satu buah JtextArea : txtPilihanHobby
3. Merubah isi JComboBox. Untuk merubah isi dari JComboBox dan JList kita akan
menggunakan Jendela Properties, Jendela ini letaknya di sebelah kanan bawah, di bawah
Jendela Pallete dan akan muncul hanya jika jendela Design yang dipilih.

Modul "Teori PEMROGRAMAN BERORIENTASI OBJEK" KOMPONEN VISUAL JAVA


dengan SWING – AKNELA 2014
Gambar 6. Mengatur Properti JcomboBox cmbPekerjaan

Pilih komponen JComboBox di Jendela Design, Jendela Properties akan menampilkan


properties dari JComboBox. Pada bagian model di dalam Jendela Properties masukkan
item Pelajar, Mahasiswa, Programmer, Technical Writer dan Tester. Setiap item
dipisahkan dengan koma (,).
4. Merubah isi JList. Pilih JList di Jendela Design maka Jendela Properties untuk JList akan
muncul. Di bagian model isikan item : Membaca, Olahraga, Trekking, Coding,
Menonton Film, Bersepeda dan Mengajar. Setiap item dipisahkan dengan koma (,).
5. Menangani pemilihan JComboBox. Klik kanan JComboBox di Jendela Design,
kemudian pilih menu :
Events > Action > actionPerformed

Jendela Code akan terbuka, tambahkan code seperti di bawah ini :


private void cmbPekerjaanActionPerformed(java.awt.event.ActionEvent
evt) {
lblPilihanPekerjaan.setText("Pekerjaan anda : " +
cmbPekerjaan.getSelectedItem());
}

method getSelectedItem dari JComboBox digunakan untuk memperoleh item yang


sedang di pilih dalam JComboBox.
6. Menangani event pemilihan dari JList. Event yang digunakan untuk menangani
pemilihan item dari JList berbeda dengan JComboBox. JList akan mengaktifkan
ListSelection event ketika user memilih item dalam JList. Untuk menangani event ini,
lakukan langkah-langkah berikut :
a. Klik kanan pada JList di dalam Jendela Design, kemudian pilih menu :
Events > ListSelection > valueChanged
Modul "Teori PEMROGRAMAN BERORIENTASI OBJEK" KOMPONEN VISUAL JAVA
dengan SWING – AKNELA 2014
b. Dalam jendela kode yang ketik kode seperti berikut ini :
private void
lstHobbyValueChanged(javax.swing.event.ListSelectionEvent evt) {
Object[] selectedItems = lstHobby.getSelectedValues();
if(selectedItems == null || selectedItems.length == 0){
txtPilihanHobby.setText("");
}else{
StringBuffer strValues = new StringBuffer();
for(Object item : selectedItems){
strValues.append(item.toString() + ", ");
}
txtPilihanHobby.setText(
strValues.substring(0, strValues.length() - 2));
}
}

Catatan : Method getSelectedValues dari JList mengembalikan item-item yang terpilih.

Modul "Teori PEMROGRAMAN BERORIENTASI OBJEK" KOMPONEN VISUAL JAVA


dengan SWING – AKNELA 2014

Anda mungkin juga menyukai