Hai semuanya, apa kabar? Kita lanjutin lagi belajar Java-nya. Terakhir, kita bahas tentang JTextArea.
Fungsinya adalah untuk mengetik teks panjang (lebih dari satu baris).
JTextArea textArea = new JTextArea();
textArea.setBounds(20, 140,250,80);
frame.add(textArea);
Sekalian kita “rapiin” juga kodingannya. Biar lebih enak dilihatnya.
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Swing{
public static void main (String[] args){
JFrame frame = new JFrame("Aplikasi Pertamaku");
frame.setSize(400, 450);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null); // mematikan layout manager agar setBounds bekerja
frame.setLocationRelativeTo(null);
//Label Nama
JLabel label = new JLabel("Nama");
label.setBounds(30, 20, 100, 30); // merupakan posisi label (x, y, lebar, tinggi)
frame.add(label);
//Input Nama
JTextField textField = new JTextField();
textField.setBounds(100,20,200,25);
frame.add(textField);
//Label Gender
JLabel labelGender = new JLabel ("Gender");
labelGender.setBounds (30, 60,100,30);
frame.add(labelGender);
//Radio Button Gender
JRadioButton rbLaki = new JRadioButton("Laki-Laki");
JRadioButton rbPerempuan = new JRadioButton("Perempuan");
rbLaki.setBounds(120, 60, 100,25);
rbPerempuan.setBounds(220, 60, 100, 25);
ButtonGroup bg = new ButtonGroup();
bg.add(rbLaki);
bg.add(rbPerempuan);
frame.add(rbLaki);
frame.add(rbPerempuan);
//Label Kota
JLabel labelKota = new JLabel("Kota");
labelKota.setBounds(30,100,100,30);
frame.add(labelKota);
//Combo Kota
String[] daftarKota = {"Jakarta", "Bogor", "Depok", "Tangerang", "Bekasi"};
JComboBox<String> comboKota = new JComboBox<>(daftarKota);
comboKota.setBounds (100,100,150,25);
frame.add(comboKota);
//Label Textarea
JLabel labelAlamat = new JLabel("Alamat");
labelAlamat.setBounds(30,140,100,30);
frame.add(labelAlamat);
//TextArea + scroll pane
JTextArea textArea = new JTextArea();
textArea.setLineWrap(true); //pindah baris otomatis
textArea.setWrapStyleWord(true);
JScrollPane scrollPane = new JScrollPane(textArea);
scrollPane.setBounds(100, 140, 200,80);
frame.add(scrollPane);
//Tombol kirim
JButton buttonKirim = new JButton ("Kirim");
buttonKirim.setBounds(140, 260, 100,35);
buttonKirim.addActionListener (e -> {
String nama = textField.getText();
String kota = (String) comboKota.getSelectedItem();
String gender = rbLaki.isSelected() ? "Laki-Laki": (rbPerempuan.isSelected() ? "Perempuan" : "Belum Dipilih");
String pesan = "Halo " + nama + "\n Asal: " + kota + "\n Gender: " + gender;
JOptionPane.showMessageDialog(frame, pesan);
});
frame.add(buttonKirim);
frame.setVisible(true);
}
}
Kita coba rangkum, apa aja yang ada pada kode tersebut.
JFrame – Kanvas Utama
JFrame dapat diibaratkan sebagai jendela aplikasinya. Ada metode setSize yuang digunakan untuk mengatur ukuran jendela. Ada juga konstanta (constant) EXIT_ON_CLOSE untuk memastikan aplikasi benar-benar tertutup saat tombol close (X) diklik.
JLabel
Merupakan teks yang berfungsi sebagai “papan nama” agar pengguna dapat mengetahui kotak/tombol di dekatnya digunakan untuk mengissi apa (contohnya: nama, gender, alamat, dll).
Input:
- `JTextField“: Kotak satu baris untuk mengetik teks pendek (seperti nama).
JRadioButton: Pilihan opsi yang dapat dipilih salah satunya (juga menggunakan opsiButtonGroup).JComboBox: Menu dropdown yang dapat digunakan pengguna untuk memilih daftar yang sudah disediakan.JTextArea: Textbox besar untuk mengetikkan teks yang lebih panjang, misalnya alamat lengkap. Dilengkapi juga denganJScrollPaneagar muncul scrollbar secara otomatis apabila konten sudah terlalu panjang.
Layouting (null layout)
Dengan perintah setLayout (null), kita dapat mengatur posisi dari objek (ditambah setBounds(x, y, lebar, tinggi)) agar kita dapat menentukan posisi dari komponen yang ditampilkan di layar.
JButton & ActionListener
Bisa diibaratkan sebagai “otak” dari aplikasi yang dibuat. Program akan mengambil semua data yang sudah diisi oleh pengguna (menggunakan fungsi .getText() atau .getSelectedItem()). Data-data tersebut digabungkan menjadi satu kalimat panjang (String pesan), kemudian ditampilkan lewat jendela pop-up kecil yang muncul di layar (JOptionPane).
setVisible – Menampilkan Aplikasi
Tanpa setVisible, walaupun kode sudah dijalankan, tapi tidak akan bisa muncul di layar.
Penutup
Begitulah ringkasan mengenai fungsi dari berbagai komponen yang ada di Java Swing. Kita sudah coba juga membuat aplikasi sederhana dari komponen-komponen tersebut. Untuk tulisan kali ini sampai di sini dulu ya. Sampai jumpa. Bye.

