Mengenal GUI Dan Komponennya Pada Java

Java GUI (Graphical User Interface) adalah langkah instruksional yang sangat baik untuk mempelajari pemrograman berorientasi objek.

Rancangan API pada pemrograman GUI Java adalah contoh yang sangat relevan tentang bagaimana Anda bisa menerapkan prinsi-prinsip  berorientasi objek.

Materi kali ini memiliki dua tujuan penting.  Pertama, adalah agar Anda bisa mengerti dengan baik mengenai dasar-dasar Pemrograman Java GUI. Kedua, Anda akan belajar menggunakan GUI dan mampu mendemonstrasikan OOP.

Secara khusus, materi ini juga akan memperkenalkan kerangka kerja Java dari GUI API dan sekaligus membahas komponen GUI dan hubungannya dengan container, layout managers, warna, border, font, ikon gambar, dan tool tip. Selain itu juga akan di bahas mengenai beberapa komponen GUI yang paling sering digunakan dalam pemrograman.

Perbedaan Swing dan AWT

Swing GUI memiliki komponen-komponen yang stabil dan lebih fleksibel untuk menggantikan AWT GUI. Anda juga akan belajar membuat GUI sederhana dan yang terpenting bisa mendemonstrasikan dan memahami Pemrograman Berorientasi Objek dalam menampilkan komponen-komponen GUI, seperti:

  • JButton
  • JLabel
  • JTextField
  • JRadioButton
  • JComboBox

Setelah Anda melihat class komponen GUI itu, mungkin Anda bertanya-tanya kenapa awalannya semuanya memiliki huruf J? Misalnya JButton, kenapa tidak dinamai hanya sebagai Button saja, bisa saja kan? Itu karena sebenarnya sudah ada class Button di package java.awt.

Jadi class GUI ada di library yang dikenal sebagai Abstract Windows Toolkit (AWT) saat awal Java diperkenalkan. Tapi AWT itu tidak mampu untuk mengembangkan proyek GUI dengan antarmuka grafis yang kompleks atau komprehensif. Selain itu AWT juga rentan dengan bug pada platforms yang sepesifik.

Oleh sebab itulah komponen Swing hadir dengan keserbagunaannya, fleksibilitas, dan library yang lebih kuat  untuk menggantikan komponen AWT tersebut. Komponen Swing di-paint secara langsung dengan kode Java namun komponen dari subclass Window dan Panel harus di gambar dengan GUI native pada platform spesifik.

Baca Juga:  Belajar Java Programming JPanel Tingkat Dasar

Komponen Swing menggunakan lebih sedikit sumber daya GUI native dan tidak bergantung pada platform target. Oleh sebab itu komponen Swing itu disebut dengan lightweight component. Sedangkan komponen AWT disebut sebagai heavyweight component.

Class dari komponen Swing GUI memiliki awalan J, jadi akan mudah membedakannya dari class AWT. Oracle masih mendukung Swing dan AWT dan mereka menyatakan itu masih merupakan teknologi inti mereka dalam semua perilisan dan jadwal support Java SE.

Tapi meskipun komponen AWT masih di dukung Java, sebaiknya Anda lebih memfokuskan cara menggunakan komponen Swing karena antarmuka komponen AWT pada akhirnya akan hilang kepopulerannya. Oleh sebab itu, pembahasan GUI ini banyak menggunakan komponen Swing GUI.

Java Graphical User Interface API

GUI API (Application Programming Interface) terdiri dari banyak class yang bisa digolongkan menjadi 3 bagian class, yaitu:

  • komponen
  • kontainer
  • helper

Hubungan hierarki Java GUI API ditunjukkan seperti gambar berikut ini:

hirarki-komponen-Swing-Java-GUI

Pada gambar diagram hirarki di atas panah segitiga biru menunjukkan hubungan inheritance, tanda diamond putih menunjukkan komposisi, dan tanda diamond abu-abu menunjukkan komposisi ekslusif.

Sublass dari class Component disebut kelas-kelas komponen yang diperlukan untuk membuat user interface.

Sedangkan beberapa class seperti JApplet, JPanel, dan JFrame adalah termasuk class kontainer karena akan berfungsi untuk memuat komponen lainnya.

Selanjutnya Graphics, Color, Font, FontMetrics, dan dimensi adalah termasuk class helper yang akan digunakan untuk mendukung GUI.

Penting juga untuk diketahui bahwa class dan subclass dari JFrame, JApplet, JDialog, dan JComponent termasuk dalam package javax.swing. Applet berada dalam class java.applet dan semua class lainnya yang ada pada diagram di atas termasuk dalam package java.awt.

Baca Juga:  Memahami Layout Manager: Box Layout Pada GUI Java

Leave a Comment