Belajar GUI Pada Java: Class Component, Container, dan Helper

Untuk memahami GUI pada Java dengan baik, Anda harus mengetahui tiga class yang selalu berkaitan dalam Java GUI programming. Class tersebut adalah component, container, dan helper. Berikut ini adalah penjelasan dari masing-masing class tersebut.

Class Component

Anda bisa menampilkan instance dari class component pada layar. Component adalah akar class untuk semua class antar muka pengguna (user interface) termasuk class container. Sedangkan JComponent adalah akar class dari semua class komponen-komponen lightweight dari Swing.

Selanjutnya yang perlu Anda ketahui adalah class Component dan JComponent keduanya adalah class abstract. Jadi Anda tidak bisa membuat objek menggunakan operator new. Ya, Anda tidak bisa membuat objek dari class JComponent dengan pernyataan new JComponent karena itu adalah class abstract. Tapi Anda bisa menggunakan constructor dari class konkritnya atau subclass dari JComponent untuk membuat instance.

Oleh sebab itu, pemahaman mengenai konsep pewarisan pada Java sangat penting untuk Anda kuasai. Kalau Anda perhatikan diagram hirarki dari GUI dan komponennya, anda bisa melihat pewarisan yang jelas, misalnya dari Object sampai ke JLabel.

Untuk lebih jelasnya perhatikan kode berikut:

Semua ouputnya memberikan nilai true.

Baca Juga:  Tutorial Java Swing Layout Manager

Class Container

Seperti namanya, container bisa di artikan wadah. Jadi komponen ini akan bertindak sebagai wadah atau tempat menampung instances dari Component.

Suatu container bisa dikatakan sebagai top-level bila tidak disematkan pada container lainnya.

Beberapa contoh container top-level adalah Window, Frame, Dialog, JFrame, dan JDialog. Sementara itu class untuk komponen-komponen AWT mencakup Window, Panel, Applet, Frame, dan Dialog.

Anda akan banyak mendalami komponen-komponen Swing, maka Anda akan menggunakan Container, JFrame, JDialog, JApplet, JPanel.

Sebagai pandual perhatikan tabel berikut ini:

Class ContainerPenjelasan Penggunaan
java.awt.ContainerContainer adalah class untuk menampung komponen-komponen. Subclassnya antara lain Frames, Panel, Applet.
java.awt.JFrameJFrame adalah top-level container yang bisa menampung komponen-komponen antar muka pengguna dari Swing dalam aplikasi Java GUI.
java.awt.JPanelJPanel adalah container yang tidak terlihat. Berfungsi untuk mengelompokkan komponen-komponen antar muka pengguna. Selain itu, panel-panel juga bisa bersarang (nested). Artinya Anda bisa menempatkan panel di dalam panel. Selanjutnya, untuk kebutuhan menggambar grafis JPanel juga sering digunakan sebagai canvas.
java.awt.JAppletJApplet adalah class dasar untuk membuat aplikasi Java Applet dengan menggunakan komponen-komponen Swing
java.awt.JDialogJDialog adalah jendela pop up yang muncul. Biasanya digunakan sebagai jendela sementara untuk mendapatkan atau memberikan informasi dari dan kepada user.

Class GUI Helper

Untuk menjelaskan properti pada GUI komponen seperti warna, konteks grafik, huruf, dimensi, maka Anda memerlukan class helper untuk GUI. Class tersebut tidak termasuk dalam subclass dari Component, mereka adalah class Graphics, Color, Font, FontMetrics, Dimension, dan LayoutManager.

Perhatikan tabel berikut ini:

ClassPenjelasan
java.awt.GraphicsClass Graphics adalah class abstract, yang menyediakan berbagai method untuk menggambar garis, string, dan bentuk-bentuk yang sederhana.
java.awt.ColorClass ini akan berurusan dengan warna dari setiap komponen. Misalnya Anda perlu memberikan warna pada background atau foreground dari JPanel atau JFrame. Selain itu Anda juga bisa menggunakan class ini untuk memberikan warna spesifik pada string, garis, atau bentuk.
java.awt.FontClass ini akan membantu Anda ketika berurusan dengan fonts pada text dan menggambar pada komponen-komponen GUI. Misalnya Anda bisa menetapkan jenis huruf, gaya, dan ukuran huruf pada tombol.
java.awt.FontMetricsFontMetrics adalah class abstract untuk mendapatkan properti dari fonts.
java.awt.DimensionClass Dimension akan mengenkapsulasi ukuran lebar dan tinggi dari suatu komponen dalam presisi integer pada suatu objek tunggal
java.awt.LayoutManagerLayoutManager akan menentukan bagaimana komponen-komponen diatur atau diletakkan dalam suatu container
Baca Juga:  GUI Event Handling Pada Java

Penting untuk diketahui jika semua class helper itu ada dalam package java.awt. Dengan demikian komponen-komponen Swing tidak menggantikan semua class dalam AWT melainkan hanya class komponen AWT GUI saja. Misalnya TextArea, TextField, Button. Class helper pada AWT juga masih berguna dalam pemrograman GUI.

Leave a Comment