Pengantar Java Swing Bagian 1
Pertemuan
1
Pengantar
Java Swing
Swing menyediakan
komponen antarmuka pengguna grafis (GUI) untuk mengembangkan aplikasi Java
dengan kumpulan grafik yang lengkap, seperti jendela, tombol, kotak centang,
dll. Apa itu GUI? Sebelum saya mendefinisikan GUI, izinkan saya terlebih dahulu
mendefinisikan antarmuka pengguna (UI).
Sebuah program melakukan
tiga hal:
• Menerima input dari
pengguna
• Memproses input
tersebut
• Menghasilkan output
Antarmuka pengguna
menyediakan cara untuk bertukar informasi antara pengguna dan program, dalam
hal input dan output. Dengan kata lain, antarmuka pengguna mendefinisikan cara
interaksi antara pengguna dan program terjadi. Mengetik teks menggunakan
keyboard, memilih item menu menggunakan mouse, atau mengklik tombol dapat
memberikan input ke program. Output dari program dapat ditampilkan di monitor
komputer dalam bentuk teks berbasis karakter, grafik seperti diagram batang,
gambar, dll.
Anda telah menulis banyak
program Java. Anda telah melihat program-program di mana pengguna harus
memberikan input ke program dalam bentuk teks yang dimasukkan di konsol, dan
program akan mencetak output di konsol. Antarmuka pengguna di mana input
pengguna dan output program dalam bentuk teks dikenal sebagai antarmuka
pengguna berbasis karakter. GUI memungkinkan pengguna berinteraksi dengan
program menggunakan elemen-elemen grafis yang disebut kontrol atau widget,
dengan menggunakan keyboard, mouse, dan perangkat lainnya.
Gambar di bawah ini
menunjukkan sebuah program yang memungkinkan pengguna memasukkan nama dan
tanggal lahir seseorang, dan menyimpan informasi tersebut dengan menggunakan
keyboard. Ini adalah contoh antarmuka pengguna berbasis karakter.
Gambar di bawah ini
memungkinkan pengguna melakukan tindakan yang sama, tetapi menggunakan
antarmuka pengguna grafis. Ini menampilkan enam elemen grafis dalam sebuah
jendela. Ini menggunakan dua label (Nama: dan Tanggal Lahir:), dua kolom teks
di mana pengguna akan memasukkan Nilai Nama dan Tanggal Lahir, dan dua tombol
(Simpan dan Tutup). Antarmuka pengguna grafis, dibandingkan dengan antarmuka
pengguna berbasis karakter, membuat interaksi pengguna dengan program lebih
mudah. Bisakah Anda menebak jenis aplikasi yang akan Anda kembangkan dalam bab
ini? Ini akan berhubungan dengan GUI. Pengembangan GUI menarik dan sedikit
lebih kompleks daripada pengembangan program berbasis karakter. Begitu Anda
memahami elemen-elemen yang terlibat dalam pengembangan GUI, akan menyenangkan
untuk bekerja dengannya.
Pertemuan kalin ini
mencoba mencakup dasar-dasar pengembangan GUI menggunakan komponen-komponen
Swing dan kontainer tingkat atas. Penjelasan terkait GUI telah diberikan dengan
baik bagi para programmer yang mungkin belum pernah menggunakan
bahasa/pelatihan pemrograman apa pun (misalnya Visual C++, Visual Basic,
VB.NET, atau PowerBuilder) untuk mengembangkan GUI sebelumnya. Jika Anda sudah
pernah menggunakan bahasa/pelatihan pengembangan GUI, maka akan lebih mudah
bagi Anda untuk memahami materi yang dibahas dalam bab ini. Swing adalah topik
yang luas, dan tidak mungkin mencakup setiap detailnya. Ini sebenarnya
membutuhkan buku tersendiri. Bahkan, ada beberapa buku di pasaran yang
didedikasikan hanya untuk Swing.
Kontainer adalah komponen
yang dapat menampung komponen lain di dalamnya. Kontainer pada tingkat
tertinggi disebut kontainer tingkat atas. Sebuah JFrame, JDialog, JWindow, dan
JApplet adalah contoh-contoh kontainer tingkat atas. Sebuah JPanel adalah
contoh dari kontainer sederhana. Sebuah JButton, JTextField, dll. adalah
contoh-contoh komponen. Dalam aplikasi Swing, setiap komponen harus terdapat
dalam sebuah kontainer. Kontainer tersebut dikenal sebagai induk komponen dan
komponen tersebut dikenal sebagai anak kontainer. Hubungan induk-anak ini (atau
hubungan kontainer-mengandung) dikenal sebagai hierarki kandungan. Untuk
menampilkan sebuah komponen di layar, sebuah kontainer tingkat atas harus
berada di akar hierarki kandungan. Setiap aplikasi Swing harus memiliki
setidaknya satu kontainer tingkat atas. Gambar di bawah ini menunjukkan hierarki kandungan dari sebuah
aplikasi Swing. Sebuah kontainer tingkat atas mengandung sebuah kontainer yang
disebut "Container 1," yang pada gilirannya mengandung sebuah
komponen yang disebut "Component 1" dan sebuah kontainer yang disebut
"Container 2," yang pada gilirannya mengandung dua komponen yang
disebut "Component 2" dan "Component 3."
Program Swing Paling Sederhana (Dengan menggunakan
Scripting)
Mari kita mulai dengan program Swing paling sederhana.
Anda akan menampilkan sebuah JFrame, yang merupakan kontainer tingkat atas
tanpa komponen di dalamnya. Untuk membuat dan menampilkan JFrame, Anda perlu
melakukan hal berikut:
• Membuat objek JFrame.
• Membuatnya terlihat (visible).
Untuk membuat objek JFrame, Anda dapat menggunakan
salah satu konstruktor dari kelas JFrame. Salah satu konstruktor menerima
sebuah string, yang akan ditampilkan sebagai judul untuk JFrame. Kelas yang
mewakili komponen-komponen Swing berada dalam paket javax.swing, termasuk kelas
JFrame. Potongan kode berikut membuat objek JFrame dengan judul "Simplest
Swing":
// Membuat objek JFrame
JFrame frame = new JFrame("Simplest Swing");
Ketika Anda membuat objek JFrame, secara default, itu
tidak terlihat. Anda perlu memanggil metode setVisible(boolean visible) untuk
membuatnya terlihat. Jika Anda memasukkan true ke metode ini, JFrame akan
terlihat, dan jika Anda memasukkan false, maka akan tidak terlihat.
// Membuat JFrame terlihat di layar
frame.setVisible(true);
Itu saja yang perlu Anda lakukan untuk mengembangkan
aplikasi Swing pertama Anda! Bahkan, Anda dapat menggabungkan dua pernyataan,
yaitu membuat dan menampilkan sebuah JFrame, menjadi satu pernyataan seperti
ini:
new JFrame("Simplest
Swing").setVisible(true);
Komponen-komponen dari JFrame
Anda menampilkan sebuah
JFrame pada bagian sebelumnya. Meskipun terlihat kosong, sebenarnya JFrame
tersebut tidak benar-benar kosong. Ketika Anda membuat sebuah JFrame, hal-hal
berikut dilakukan secara otomatis:
• Sebuah container yang
disebut root pane ditambahkan sebagai satu-satunya child dari JFrame. Root pane
adalah sebuah container yang merupakan objek dari kelas JRootPane. Anda dapat
mengakses root pane menggunakan method getRootPane() dari kelas JFrame.
• Dua container yang
disebut glass pane dan layered pane ditambahkan ke root pane. Secara default,
glass pane tersembunyi dan ditempatkan di atas layered pane. Seperti namanya,
glass pane transparan, bahkan jika Anda membuatnya terlihat, Anda tetap bisa
melihat melalui pane tersebut. Layered pane dinamakan demikian karena dapat
menampung container atau komponen lain dalam lapisan-lapisannya. Secara
opsional, layered pane dapat menampung sebuah menu bar. Namun, menu bar tidak
ditambahkan secara otomatis ketika Anda membuat sebuah JFrame. Anda dapat
mengakses glass pane dan layered pane menggunakan method getGlassPane() dan
getLayeredPane() dari kelas JFrame.
• Sebuah container yang
disebut content pane ditambahkan ke layered pane. Secara default, content pane
kosong. Ini adalah container di mana Anda diharapkan untuk menambahkan semua
komponen Swing, seperti tombol, text field, label, dll. Sebagian besar waktu,
Anda akan bekerja dengan content pane dari JFrame. Anda dapat mengakses content
pane menggunakan method getContentPane() dari kelas JFrame.
Menambahkan komponen ke Jframe (Dengan menggunakan
scripting)
Referensi:
Sharan, K. (2014). Beginning Java 8 APIs,
Extensions, and Libraries Swing, Java FX, JavaScript, JDBC, and Network
Programming APIs. Apress
Komentar ini telah dihapus oleh pengarang.
BalasHapus