Java Swing adalah sekumpulan packages yang digunakan untuk membuat aplikasi desktop yang dilengkapi dengan GUI. Nama packages-nya adaldah javax.swing.
Komponen Dasar Swing
Sambil kita belajar jenis-jenis komponen yang ada, kita sekalian coba juga di BlueJ.
Untuk belajar materi kali ini, kita buat class baru, lalu buat terlebih dahulu “struktur” utama kodenya:
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Swing{
public static void main (String[] args){
//tuliskan kode di sini
}
}
import javax.swing.*;. Untuk memanggil semua kelas (*) yang ada di paketswing. Isinya bermacam-macam seperti frame, label, button, dan lain-lain.import java.awt.event.ActionEvent;. Fungsinya adalah memanggil kelasActionEvent* yang digunakan untuk menangani action* seperti klik tombol. Bisa dibilang semacam “sensor” yang menangkap kejadian.import java.awt.event.ActionListener;. MemanggilActionListeneryang berisi methodactionPerformedyang akan dijalankan secara otomatis apabila terjadi aksi. Bisa diibaratkan sebagai perintah yang harus dijalankan apabila ada aksi yang dilakukan, seperti klik tombol.public class Swing{. Deklarasi kelas dengan namaSwing. Nama kelas harus sama dengan nama file (pada pengujian kali ini naman filenyaSwing.java).public static void main(String[] args) { ... }. Merupakan method utama yang pertama kali dijalankan saat program dimulai.
Nantinya, kode bisa dituliskan/dicoba pada bagian //tuliskan kode di sini
JFrame
Fungsinya adalah sebagai tempat untuk menampung komponen lain. Dapat diibaratkan sebagai “kanvas”.
JFrame frame = new JFrame("Testing Aplikasi");
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
JLabel
Fungsinya adalah untuk labeling atau menampilkan teks/gambar.
JFrame frame = new JFrame("Aplikasi Pertamaku");
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null); // mematikan layout manager agar setBounds bekerja
JLabel label = new JLabel("Zaidan");
label.setBounds(100, 50, 100, 30); // merupakan posisi label (x, y, lebar, tinggi)
frame.add(label);
frame.setVisible(true);
setBounds merupakan perintah untuk menentukan lokasi dan ukuran komponen (misalnya label teks) dalam jendela aplikasi.
setLayout(null); digunakan agar setBounds dapat diterapkan. Java memiliki Layout Manager yang akan mengabaikan setBounds apabila tidak bernilai null.
JTextField
Fungsinya adalah tempat di mana pengguna mengetik teks pendek.
JTextField textField = new JTextField();
textField.setBounds(120,20,150,25);
frame.add(textField);
JButton
Digunakan untuk menjalankan aksi saat diklik (baca: tombol).
...
JLabel label = new JLabel("Nama");
label.setBounds(80, 20, 100, 30); // merupakan posisi label (x, y, lebar, tinggi)
frame.add(label);
JTextField textField = new JTextField();
textField.setBounds(120,20,150,25);
frame.add(textField);
JButton button = new JButton ("Kirim");
button.setBounds(120, 60, 100,30);
button.addActionListener (e -> {
String nama = textField.getText();
JOptionPane.showMessageDialog(frame, "Halo " + nama);
});
frame.add(button);
frame.setVisible(true);
...
JButton: Membuat tombol dengan nama “Kirim”.addActionListener: Mirip seperti “pendengar” yang menunggu sampai tombol diklik.e -> {...}: Kode yang akan dijalankan saat tombol diklik.textField.getText(): Perintah untuk mengambil teks yang dimasukkan pada kotak teks.JOptionPane.showMessageDialog: Perintah untuk memunculkan dialog box.
JRadioButton
Berfungsi untuk memilih salah satu dari beberapa opsi yang ada.
...
JRadioButton rbLaki = new JRadioButton("Laki-Laki");
JRadioButton rbPerempuan = new JRadioButton("Perempuan");
rbLaki.setBounds(20, 60, 100,25);
rbPerempuan.setBounds(120, 60, 100, 25);
ButtonGroup bg = new ButtonGroup();
bg.add(rbLaki);
bg.add(rbPerempuan);
frame.add(rbLaki);
frame.add(rbPerempuan);
...
JRadioButton: Menyiapkan dua pilihan (Laki-Laki dan Perempuan).rbLaki/Perempuan.setBounds: Mengatur posisi/koordinat pilihan.ButtonGroup: Grup yang mengikat radio buttons tersebut. DenganButtonGroup, hanya satu opsi saja yang dapat dipilih.ButtonGroupberupa objek logika, jadi tidak muncul di layar.frame.add: Untuk menampilkan pilihan/radio button ke layar.
JComboBox
Berfungsi sebagai pilihan yang bisa di-scroll (dropdown menu).
...
String[] Kota = {"Jakarta", "Bogor", "Depok", "Tangerang", "Bekasi"};
JComboBox<String> comboKota = new JComboBox<>(Kota);
comboKota.setBounds (100,100,150,25);
frame.add(comboKota);
...
String[]Kota {...}: Membuat tempat yang berisi pilihan (berupa array);JComboBox<String> comboKota = new JComboBox<>(Kota);: Komponen dropdown-nya berupa teks/string dan berisi array yang sudah dibuat sebelumnya.comboKota.setBounds: Menentukan posisi dari menu dropdown.
Untuk tulisan kali ini sampai di sini dulu ya. Kita lanjutkan di tulisan yang akan datang. Sampai jumpa. Bye.






