GRAFIK USER INTERFACE
(GUI)
Graphic User Interface (GUI) adalah suatu
aplikasi dalam Java yang berbasis grafik. GUI
membuat program tampak menarik dan nyaman ketika digunakan oleh para user serta
memberikan kemudahan penggunaan program tersebut. Tujuannya adalah menambahkan komponen-komponen yang tidak
bisa dibuat dalam basis text. Komponen-konponen tersebut bisa berupa tombol,
gambar, dan lain-lain.
Grafical User
Interface (GUI) adalah salah satu kemampuan Java dalam mendukung dan manajemen
antarmuka berbasis grafis. Tampilan grafis yang akan ditampilkan terhubung
dengan program serta tempat penyimpanan data. Elemen dasar di Java untuk
penciptan tampilan berbasis grafis adalah dua paket yaitu AWT dan Swing.
Abstract Windowing Toolkit (AWT), atau disebut juga “Another Windowing
Toolkit”, adalah pustaka windowing bertujuan umum dan multiplatform serta
menyediakan sejumlah kelas untuk membuat GUI di Java. Dengan AWT, dapat membuat
window, menggambar, manipulasi gambar, dan komponen seperti Button, Scrollbar,
Checkbox, TextField, dan menu pull-down.
1. AWT (Abstract
Windowing Toolkit)
AWT
terdapat dalam package java.awt. Package java ini berisi komponen-komponen GUI
yang bersifat platform sistem operasi. Tampilanya menyesuaikan dengan sistem
operasi sehingga mengakibatkan depedensi sistem. Kelas yang terdapat dalam
package ini seperti button, label, window, frame, panel, dan dialog.
AWT (Abstract Window
Toolkit) ini adalah GUI Toolkit pertama pada bahasa pemrograman Java,
sayang-nya AWT ini sangat-sangat kekurangan komponen yang biasa digunakan untuk
membangun sebuah aplikasi desktop secara lengkap (komponen tabel saja tidak ada
) Terlepas dari kurang-nya komponen GUI yang terdapat pada AWT (Abstract Window
Toolkit), aplikasi yang dibangun menggunakan AWT (Abstract Window Toolkit) akan
tampak seperti aplikasi native. Maksudnya yaitu, jika aplikasi yang dibangun
menggunakan AWT (Abstract Window Toolkit) ini dijalankan pada Sistem Operasi
Windows. Maka aplikasi ini akan terlihat seperti aplikasi Windows pada
umum-nya, dan begitu juga jika dijalankan pada Sistem Operasi Mac ataupun
GNU/Linux. Kenapa ini bisa terjadi, karena AWT (Abstract Window Toolkit) ini
benar-benar memanggil native subrutin untuk menggambar setiap komponen-nya ke
layar.
2. SWT (Standart
Widget Toolkit)
SWT
terdapat dalam package java.swt. Package ini berisi komponen-komponen GUI yang
bersifat platform sistem operasi. Tampilan java.swt menyesuaikan dengan sistem
operasi sehingga mengakibatkan depedensi sistem. sama hal nya pula dengan AWT
tadi.
SWT (Standart Widget
Toolkit) ini adalah sebuah GUI Toolkit yang dikeluaran oleh IBM sebagai
alternatif dari AWT/Java Swing milik SUN Microsystem, yang membedakan antara
SWT (Standart Widget Toolkit) dan AWT/Java Swing adalah SWT ini benar-benar
mengakses native GUI library yang terdapat pada Sistem Operasi melalui JNI
(Java Native Interface). Dengan model seperti ini, memungkinkan tampilan
aplikasi yang dibangun menggunakan GUI Toolkit SWT menjadi sama persis dengan
aplikasi native lain-nya. Kekurangan dari model pemanggilan native GUI library
seperti ini adalah kita harus menyediakan library untuk tiap-tiap Sistem
Operasi target aplikasi kita.
3. Swing
Swing
terdapat pada package java.swing. Package java.swing ini dapat diaplikasikan
pada multiplatform sistem operasi. Implementasi Swing dalam program dapat
menggunakan class yang sudah terdapat pada package java.swing yaitu JFrame.
Java
Swing adalah librari java yang digunkan untuk menciptakan Grafik User Interface
(GUI). Dengan Java Swing kita dapat membuat user interface yang cross platform
atau OS independent. Artinya user interface yang kita buat dapat dijalankan
pada system operasi apa saja (OS yang suport Java) dengan tampilan yang
relative sama. Bahkan kita dapat membuat user interface yang menyerupai Windows
XP, Mac OS atau Linux tanpa tergantung dari OS yang kita gunakan. SWING, adalah
salah satu bagian dari Java Foundation Classes (JFC). Pada JFC ini juga
terdapat fasilitas untuk menambahkan Rich Graphic Functionality.
AWT vs.
SWING
AWT
v Abstract
Window Toolkit.
v AWT
memberikan beberapa komponen yang sederhana, tidak sebanyak Swing.
v Memiliki
beberapa masalah dalam pengimplementasiannya awal tahun 1996.
v AWT
menggambar/membuat interface dengan menggunakan tombol AWT.
v Aplikasi
AWT memiliki penampilan yang asli/lugas (bawaan OS)
v Ringan,
aplikasi AWT cocok digunakan untuk PC dengan performa minim
SWING
Ø Juga
disebut dengan JFC.
Ø Di
implementasikan oleh Java à seperti bytecode yang dapat berjalan ke semua platform.
Ø Swing
memiliki 10 kali lebih banyak class, dan kemampuan dibanding AWT.
Ø Berat,
aplikasi Swing hanya bisa digunakan untuk PC dengan performa tinggi.
Swing memiliki look-and-feel yang pluggable. Terlihat ketika pembuatan
tombol
PROGRAM cthAWT1.java
import java.awt.*;
public class cthAWT1 {
public static void main
(String [ ] args) {
Frame myFrame = new Frame (“Contoh program AWT”);
Label myLabel = new Label
(“Selamat belajar JAVA”);
myFrame.add (myLabel);
myFrame.setSize (200,150);
myFrame.show();
}
}
Klik gambar untuk memperbesar.
Gambar. 1
PROGRAM cthAWT2.java
import java.awt.*;
class frameTurunan extends
Frame {
Label myLabel = new Label
(“Selamat Belajar JAVA!”);
public frameTurunan (String judul) {
setTitle(judul);
setSize (200,200);
add(myLabel);
show();
}
}
public
class cthAWT2 {
public static void main(String[] args) {
frameTurunan f = new frameTurunan (“Ini Frame Turunan”) ;
}
}
Klik gambar untuk memperbesar.
Gambar. 2
PROGRAM cthSwing1.java
import javax.swing.*;
public class cthSwing1 {
public static void main
(String[]args) {
JFrame myFrame = new Jframe (“Contoh program Swing”);
JLabel myLabel = new JLabel (“Selamat belajar JAVA”);
myFrame.add(myLabel);
myFrame.setSize(200,150);
myFrame.setVisible(true);
myFrame.setDefaultCloseOperation(JFame.EXIT_ON_CLOSE);
}
}
Klik gambar untuk memperbesar.
Gambar. 3
PROGRAM cthSwing2.java
import javax.swing.*;
class frameTurunan extends
JFrame {
JLabel myLabel = new Jlabel (“Selamat Belajar Java!”);
public frameTurunan (String
judul) {
setTitle (judul);
setSize (200,200);
add(myLabel);
setVisible(true);
}
}
public class cthSwing2 {
public static void main
(String [] args) {
frameTurunan f = newframeTurunan(“Ini Frame Turunan”);
}
}
Klik gambar untuk memperbesar.
Gambar. 4