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