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

Posting Komentar

Postingan populer dari blog ini

Pentingnya Mendapatkan Sertifikasi di Bidang IT/Sebagai Programmer

Pengenalan UML