Bab 12 - Komponen Visual Java Dengan Swing
Bab 12 - Komponen Visual Java Dengan Swing
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
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
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:
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;
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:
}
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.
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> );
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.
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 :
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();
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();
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 :
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:
}
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.
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();
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.