Pengertian
GUI
1.
JAVA
GUI
Graphical User Interface atau yang
lebih kita kenal dengan singkatan GUI merupakan
sebuah metode, model atau cara dari User atau manusia sebagai
pengguna computer untuk berinteraksi dengan computer secara grafis. yang
dimaksud secara grafis disini merupakan tampilan dari system operasi
yang
selama ini kita pakai seperti Microsoft Windows, MacOS dan Xwin
menggunakan
jenis GUI yang berbeda. Dengan adanya GUI ini kita dipermudah dalam
mengoperasikan computer.
GUI pertama
kali dikembangkan oleh Xerox
Palo Alto Research Center (PARC) di tahun 70-an. Penelitian ini
membuka era
baru dalam inovasi komputer grafis dan komputer pribadi (personal
computer)
pertama yang menggunakan antarmuka pengguna grafis modern adalah Xerox
Alto, yang dikembangkan pada tahun 1973. Hingga saat ini GUI
mengalami
perubahan dan inovasi yang sangat signifikan.
JAVA merupakan
sebuah bahasa
pemrograman tingkat tinggi yang berorientasi object (object oriented
programming). Selain itu Java juga merupakan sebuah platform. Jika anda
pernah
memprogram dengan bahasa pemrograman OOP , seperti C++ atau Smalltalk ,
mungkin
anda ingat betapa menyenangkannya memprogram dengan konteks objek. Java
pertama
lahir dari The Green Project awal tahun 1991. setelah perjalanan
panjangnya
java kemudian mengeluarkan Versi awalnya ditahun 1996 sudah
merupakan
versi release sehingga dinamakan Java Versi 1.0. Java versi ini
menyertakan
banyak paket standar awal yang terus dikembangkan pada versi
selanjutnya:
- java.lang:
Peruntukan kelas
elemen-elemen dasar.
- java.io:
Peruntukan kelas input dan output,
termasuk penggunaan berkas.
- java.util:
Peruntukan kelas
pelengkap seperti kelas struktur data dan kelas kelas penanggalan.
- java.net:
Peruntukan
kelas TCP/IP, yang
memungkinkan berkomunikasi dengan komputer lain
menggunakan jaringan TCP/IP.
- java.awt: Kelas
dasar untuk
aplikasi antarmuka dengan pengguna (GUI)
- java.applet:
Kelas dasar
aplikasi antar muka untuk diterapkan pada penjelajah web.
Itulah tadi
sebuah gambaran awal tentang JAVA dan GUI pusing bukan
J
Nah apa itu JAVA GUI ?
Jika dilihat
dari pengertiannya masing-masing JAVA GUI dapat kita
artikan sebagai teknik pemrograman java yang memanfaatkan grafis sebagai
antar
mukanya Seperti menggunakan layar/windows, adanya tombol, textbox, dan
komponen
grafis lainnya yang mempermudah user dalam mengoperasikan aplikasi yang
kita
buat.
Komponen Utama GUI java adalah JFC (Java
Fundamental Class)
1. Koordinat GUI
Sistem Koordinat
posisi window dan peletakan komponennya
mengikuti sistem
koordinat kartesian 2 dimensi x-aksis dan
y-aksis.
Penempatan dan dimensi dari komponen
mengikuti aturan dasar
(x,y,lebar,tinggi)
2. AWT (Abstract
Windows Toolkit)
merupakan paket dasar dalam pembentukan
GUI dengan menggunakan
platform yang terdapat dalam masing-masing OS (native resource)
Paket dasar :
java.awt.component
Adapun struktur dasar window AWT
1. Frame atau
Jwindow, sebagai komponen dasar window
2. Header,
tempat judul dan standar exit-close
3. Menubar,
tempat list menu
4. Kontainer object ContentPane,
berfungsi sebagai kanvas tempat
komponen-komponen
diletakkan
3. Swing
Product SUN
dalam membangun GUI yang Independent sehingga bersifat
cross platform dalam tampilan window yang dihasilkan.
Paket dasar:
javax.swing.Jcomponent
4. Event Handler
Aksi-reaksi yang
diberikan pada tiap-tiap komponen GUI
Jika pada
aplikasi berbasis command prompt kita memanfaatkan
masukan dari keyboard untuk melakukan suatu aksi atau perintah, maka
pada
aplikasi berbasis GUI juga dibutuhkan sumber inputan ataupun kondisi
yang
melekat pada masing-masing komponen didalam frame yang disebut dengan
event.
Event kebanyakan dihasilkan oleh piranti
utama input yaitu mouse
dan keyboard, event model ini dinamakan low-level event. Dan ada pula
event
yang terjadi dikarenakan suatu proses pada komputasi yang biasanya
berupa pesan
atapun peringatan dikarenakan kondisi pada memori, prosesor ataupun yang
lainnya yang disebut dengan semantic event.
Proses event:
1. Lingkungan
aplikasi
2. Komponen Sumber event
3. Kejadian
(event)
4. Penyampaian Kejadian (Listener)
5. Implementasi
atau reaksi setelah diterimanya kejadian
Teknis pembuatan GUI adalah sbb :
TAHAP
MENDEFINISKAN OBJEK :
Definisikan objek dari komponen yang akan
ditaruh
dalam frame pada saat frame dibuat (pada conctsructor frame yang kita
definisikan)
Letakkan objek dalam frame
TAHAP
MENDEFINISIKAN AKSI :
Tahap ini didefinisikan tergantung dari
jenis
komponennya
Pada komponen tombol aksi didefinisikan
dengan cara
mengimplementasi interface ActionListener
Pada komponen
lain seperti Choice dll ada cara
tersendiri
Komponen utama
GUI : Button, Label, TextField dan
TextArea
Komponen
Button :
l
Constructor
Button()
: mendefinisikan tombol tanpa label
Button(String
lbl) : mendefinisikan tombol dengan label lbl
l
Method :
setLabel(String
lbl) : untuk mengganti label dari tombol
getLabel()
: untuk mendapatkan label dari suatu tombol
Tombol ini belum
dapat beraksi
Komponen Label
Komponen Label :
l Constructor
Label (String lbl) :
mendefinisikan Label dengan label lbl
l Method :
setText(String lbl) :
untuk mengganti label dari Label
getText() : untuk
mendapatkan label dari suatu Label
Contoh : akan dibuat program
mengendallikan efek tombol untuk membesarkan
dan mengecilkan tulisan pada Label
merubah ukuran label (besar,
kecil) diatur dengan efek klik tombol
Mula-mula klik besarka
klik kecilkan
Programnya…
Pengenalan
GUI dengan Eclipse SWT
SWT adalah GUI berbagai platform yang
dikembangkan oleh IBM. Kenapa IBM membuat sistem GUI lain dan tidak
menggunakan
rangka kerja GUI yang sudah ada pada Java? Untuk menjawab pertanyaan
ini, kita
perlu melihat kilas balik tentang Java di awal perkembangannya.
Sun telah membuat rangka kerja GUI yang
dinamakan AWT (Abstract Windowing Toolkit). Rangka kerja AWT menggunakan
widget
(komponen pada GUI, seperti tombol, menu, teks, dll) alami yang
merupakan
bawaan dari setiap sistem operasi. Akan tetapi widget tersebut memiliki
masalah
pada LCD. Masalah LCD ini mengakibatkan hilangnya beberapa fitur pada
sistem
operasi lain. Atau dengan kata lain, jika platform A memiliki widget 1 -
40 dan
platform B memiliki widget 20 - 25, maka rangka kerja AWT hanya bisa
digunakan
untuk sebagian widget yang beririsan saja.
Untuk memecahkan masalah ini, Sun membuat
rangka kerja baru yang merupakan emulasi widget, bukan menggunakan
widget
bawaan platform. Hal ini memecahkan masalah LCD dan memberikan rangka
kerja
yang kaya widget, akan tetapi masalah lain muncul. Misalnya, aplikasi
Swing
tidak lagi mirip seperti aplikasi lain pada platform di mana ia
dijalankan.
Dengan adanya
perbaikan pada JVM, aplikasi
Swing tetap saja mengalami masalah kinerja karena sifatnya yang berupa
emulasi.
Hal ini tidak ditemukan pada widget bawaan platform karena widget ini
lebih
dekat dengan sistem operasi. Lebih jauh, aplikasi Swing menghabiskan
lebih
banyak memori yang tidak bisa digunakan untuk piranti kecil seperti PDA
dan telepon
genggam.
IBM memutuskan
bahwa pendekatan tersebut
tidak memenuhi kebutuhannya. Akhirnya, IBM membuat pustaka GUI baru yang
disebut SWT, yang memecahkan masalah yang terdapat pada rangka kerja AWT
dan
Swing. Rangka kerja SWT langsung mengakses widget bawaan sistem operasi
melalui
JNI. Jika widget tersebut tidak tersedia, maka SWT akan mengemulasi
widget yang
hilang itu.
Blok Penyusun
Suatu
Aplikasi SWT
Display, Shell
dan kumpulan Widget adalah
blok penyusun aplikasi SWT. Display bertugas untuk mengatur perulangan
event
(dari keyboard atau mouse) dan mengatur komunikasi antara thread UI dan
thread
lainnya. Shell adalah jendela di mana aplikasi berjalan. Setiap aplikasi
SWT
memiliki paling tidak satu Display dan satu atau lebih instansi Shell.
Gambar di atas
mengilustrasikan aplikasi SWT
dari sudut pandang yang berbeda. Diagram pertama di sebelah kiri adalah
diagram
kelas-kelas turunan dari objek-objek UI. Diagram tengah adalah bagaimana
objek
UI diletakkan, dan gambar kanan adalah UI yang dihasilkan.
Jika
suatu aplikasi menggunakan beberapa thread, setiap thread akan memiliki
instansi objek Display masing-masing. Kita bisa mengambil instansi suatu
objek
Display dengan menggunakan metode statik Display.getCurrent().
Suatu Shell melambangkan jendela suatu aplikasi.
Shell bisa ditampilkan dalam ukuran seluruh layar, ukuran biasa, atau
dikecilkan hingga tak terlihat. Ada dua jenis shell yang tersedia. Yang
pertama
adalah shell dengan tingkat paling tinggi, yaitu yang dibuat langsung
sebagai
anak dari jendela utama Display. Jenis kedua adalah shell dialog yang
bergantung pada shell-shell lainnya.
Jenis
suatu Shell bergantung pada bit gaya (style bit) yang diberikan pada
konstruktornya. Nilai awalnya adalah DialogShell. Artinya, jika tidak
ada
parameter yang diberikan pada konstruktornya, maka shell yang dibuat
akan
bertipe DialogShell. Jika parameter konstruktornya berupa objek
bertipe Display,
maka ia akan menjadi shell tingkat atas.
Beberapa sifat widget harus ditentukan pada
saat widget tersebut dibuat. Sifat widget tersebut disebut bit gaya
(style
bit). Bit gaya ini adalah konstanta yang didefinisikan dalam kelas SWT.
Misalnya,
Button tombol = new
Button(shell, bitGaya)
Kita bisa
menggunakan lebih
dari satu gaya dengan menggunakan operator OR atau |. Misalnya, kita
ingin
membuat tombol yang bisa ditekan dan memiliki garis tepi, kita bisa
menggunakan SWT.PUSH | SWT.BORDER sebagai
parameter bit gayanya.
LANGKAH-LANGKAH
PRAKTIKUM
LANGKAH-LANGKAH
PRAKTIKUM
A.
MEMBUAT 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();
}
}
Hasil
Ekswkusi:
B.
MEMBUAT 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");
}
}
HASIL
EKSEKUSI
C.
MEMBUAT 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(JFrame.EXIT_ON_CLOSE);
}
}
HASIL EKSEKUSI
D.
MEMBUAT 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
= new frameTurunan("Ini Frame Turunan");
}
}
HASIL EKSEKUSI
LATIHAN
Hasil Eksekusi
Tidak ada komentar:
Posting Komentar