JAVA
GUI
Java
menyediakan API untuk membuat aplikasi GUI (Graphic
User Interface). GUI merupakan suatu aplikasi pada Java yang berbasis grafik. Pertimbangan untuk
menggunakan aplikasi GUI ini antara lain adalah tampilan yang lebih menarik dan
kemudahan dalam penggunaannya. Tampilan yang atraktif akan menarik orang untuk
menggunakannya, sedangkan dari segi kemudahan akan membuat konsumen merasa
nyaman dalam menggunakan program yang telah dibuat. Ada dua package yang
disediakan Java dalam pembuatan aplikasi GUI, yaitu AWT dan Swing.
1.
AWT
(Abstract Windowing Toolkit)
AWT
(Abstract Windowing Toolkit) merupakan paket yang disedikan oleh Java dalam
pembuatan aplikasi berbasis grafik yang bersifat platform. AWT terdiri dari
banyak widget grafik yang dapat ditambahkan dan diatur dalam tampilan seperti
butons, checkbox, radiobutton, menu, list, canvas, textfield, scroolpane,
panel.
Semua
komponen UI non-menu memiliki kelas yang diturunkan dari kelas
java.awt.Component. Sedangakan komponen menu diturunkan dari
java.awt.ComponentMenu. Komponen yang berfungsi sebagai kontainer, yaitu yang
dapat mengandung komponen lain, diturunkan dari kelas java.awt.Container.
Container sendiri diturunkan dari java.awt.Component.
a. Kekurangan
AWT
· Bersifat
heavyweight.
· Bersifat
Opaque (tidak transparan)
b. Kelebihan
AWT
· Didukung
oleh browser kuno maupun baru, karena paket ini telah diimplementasikan sejak
lama.
Beberapa Contoh
Kompenen AWT yang berada dalam di dalam package javax.awt
Komponen
|
Keterangan
|
java.awt.Button
|
Tombol
yang jika ditekan akan mengerjakan instruksi tertentu
|
java.awt.CheckBox
|
Tombol
berbentuk kotak yang dapat di-check atau n-check
|
java.awt.Choice
|
Menu
yang terdiri dari beberapa pilihan
|
java.awt.Label
|
Untuk
meletakkan teks statis dan tidak dapat diedit
|
java.awt.List
|
Untuk
menyajikan beberapa pilihan teks dalam satu daftar yang dapat di-scroll
(gulung)
|
java.awt.Panel
|
Menyediakan
space untuk meletakkan komponen atau panel lainnya
|
java.awt.Scrollbar
|
Untuk
memilih nilai dalam range tertentu
|
java.awt.TextArea
|
Untuk
menampilkan teks multi-line dan dapat diedit.
|
Program JAVA GUI
import javax.swing.*;
class GUI extends JFrame {// kelas GUI merupakan turunan dari JFrame
JLabel LNim = new JLabel("NIM :");//membuat & memanggil JLabel baru dengan objek LNim
final JTextField FNim= new JTextField(20);
// merupakan modifier yg berbentuk konstanta untuk membuat & memanggil JTextfield baru dengan nama objek FNim
JLabel LNama = new JLabel("Nama :");//membuat & memanggil JLabel baru dengan objek LNama
final JTextField FNama= new JTextField(30);
// merupakan modifier yg berbentuk konstanta untuk membuat & memanggil JTextfield baru dengan nama objek FNama
JButton BTnOK= new JButton("OK");//membuat & memanggil JButton baru dengan objek BTnOK
JButton BTnkeluar= new JButton("Cancel");//membuat & memanggil JButton baru dengan objek BTnkeluar
public GUI() {
setTitle("Coba-Coba");// mengatur & membuat judul pada frame Coba-Coba
setDefaultCloseOperation(3);
setSize(350,350);//mengatur ukuran pada tampilan frame dengan lebar 350 dan panjang 300
setLayout(null);//Mengatur tampilan pada frame
add(LNim);//menambah objek LNim pada frame
add(FNim);//menambah objek FNim pada frame
add(LNama );//menambah objek LNama pada frame
add(FNama);//menambah objek FNama pada frame
add(BTnOK);//menambah objek BTnOK pada frame
add(BTnkeluar);//menambah objek BTnkeluar pada frame
LNim.setBounds(10,10,120,20);//mengatur bentuk bondaries objek LNim dengan ukuran (10,10,120,20)
FNim.setBounds(60,10,120,20);//mengatur bentuk bondaries objek FNim dengan ukuran (60,10,120,20)
LNama.setBounds(10,40,120,20);//mengatur bentuk bondaries objek LNama dengan ukuran (10,40,120,20)
FNama.setBounds(60,40,190,20);//mengatur bentuk bondaries objek FNama dengan ukuran (60,40,190,20)
BTnOK.setBounds(200,130,90,20);//mengatur bentuk bondaries objek BTnOK dengan ukuran (100,130,90,20)
BTnkeluar.setBounds(100,130,90,20);//mengatur bentuk bondaries objek BTnkeluar dengan ukuran (100,130,90,20)
FNim.setBounds(60,10,120,20);
//meletakkan posisi kursor awal pada Objek FNim & mengatur bentuk bondaries objek FNim dengan ukuran (60,10,120,20)
setVisible(true);//mengatur tampilan frame dalam keadaan aktif atau true
}
}
class ObGUI {//merupakan nama kelas yaitu ObGUI
public static void main(String[] arqs) {//Fungsi Utama yang harus ada di class utama
GUI G=new GUI();//membuat objek dengan nama G dari GUI
}
}
class GUI extends JFrame {// kelas GUI merupakan turunan dari JFrame
JLabel LNim = new JLabel("NIM :");//membuat & memanggil JLabel baru dengan objek LNim
final JTextField FNim= new JTextField(20);
// merupakan modifier yg berbentuk konstanta untuk membuat & memanggil JTextfield baru dengan nama objek FNim
JLabel LNama = new JLabel("Nama :");//membuat & memanggil JLabel baru dengan objek LNama
final JTextField FNama= new JTextField(30);
// merupakan modifier yg berbentuk konstanta untuk membuat & memanggil JTextfield baru dengan nama objek FNama
JButton BTnOK= new JButton("OK");//membuat & memanggil JButton baru dengan objek BTnOK
JButton BTnkeluar= new JButton("Cancel");//membuat & memanggil JButton baru dengan objek BTnkeluar
public GUI() {
setTitle("Coba-Coba");// mengatur & membuat judul pada frame Coba-Coba
setDefaultCloseOperation(3);
setSize(350,350);//mengatur ukuran pada tampilan frame dengan lebar 350 dan panjang 300
setLayout(null);//Mengatur tampilan pada frame
add(LNim);//menambah objek LNim pada frame
add(FNim);//menambah objek FNim pada frame
add(LNama );//menambah objek LNama pada frame
add(FNama);//menambah objek FNama pada frame
add(BTnOK);//menambah objek BTnOK pada frame
add(BTnkeluar);//menambah objek BTnkeluar pada frame
LNim.setBounds(10,10,120,20);//mengatur bentuk bondaries objek LNim dengan ukuran (10,10,120,20)
FNim.setBounds(60,10,120,20);//mengatur bentuk bondaries objek FNim dengan ukuran (60,10,120,20)
LNama.setBounds(10,40,120,20);//mengatur bentuk bondaries objek LNama dengan ukuran (10,40,120,20)
FNama.setBounds(60,40,190,20);//mengatur bentuk bondaries objek FNama dengan ukuran (60,40,190,20)
BTnOK.setBounds(200,130,90,20);//mengatur bentuk bondaries objek BTnOK dengan ukuran (100,130,90,20)
BTnkeluar.setBounds(100,130,90,20);//mengatur bentuk bondaries objek BTnkeluar dengan ukuran (100,130,90,20)
FNim.setBounds(60,10,120,20);
//meletakkan posisi kursor awal pada Objek FNim & mengatur bentuk bondaries objek FNim dengan ukuran (60,10,120,20)
setVisible(true);//mengatur tampilan frame dalam keadaan aktif atau true
}
}
class ObGUI {//merupakan nama kelas yaitu ObGUI
public static void main(String[] arqs) {//Fungsi Utama yang harus ada di class utama
GUI G=new GUI();//membuat objek dengan nama G dari GUI
}
}
Contoh program AwtPertama.Java
import java.awt.*;
public class
AwtPertama extends Frame
{
AwtPertama()
{
super("Coba
AWT");
setSize(300,200);
show();
}
public static
void main(String[] args)
{
AwtPertama obj=new
AwtPertama();
}
}
2.
SWING
SWING
adalah package lainnya dalam JAVA yang dapat digunakan untuk membuat aplikasi
berbasis grafik. Swing mempunyai beberapa komponen untuk pembuatan aplikasi GUI
antara lain button, checkbox, textfield, radio button, progress bar, tabel,
menu, dan text area.
Komponen
swing bersifat lightweight, yaitu komponen dapat ditampilkan sama pada sistem
operasi multi-platform. Semua komponen pada Swing diawali dengan huruf “J”,
misalnnya Jbutton, JtextArea, Jlabel. Semua class pada Java Swing diambil dari
package javax.swing.
Beberapa
Contoh Kompenen Swing yang berada dalam di dalam package javax.swing
Component
|
Keterangan
|
javax.swing.JButton
|
Push-Button
atau tombol yang jika ditekan akan mengerjakan instruksi tertentu
|
javax.swing.JRadioButton
|
Button
untuk menampilkan keadaaan select atau deselect
|
javax.swing.JCheckBox
|
Tombol
berbentuk kotak yang dapat di-check atau n-check
|
javax.swing.JLabel
|
Untuk
meletakkan teks atau image
|
javax.swing.JTextField
|
Untuk
mengedit satu baris teks
|
javax.swing.JTextArea
|
Untuk
menampilkan teks multi-line dan dapat diedit oleh user.
|
javax.swing.JMenuBar
|
Untuk
menapilkan menu dalam frame
|
java.swing.JTabel
|
Menampilkan
dan mengedit tabel
|
Contoh program SimpleFrame.Java
import javax.swing.JFrame;
public class SimpleFrame
extends JFrame {
public SimpleFrame(){
super("Frame title");
setSize(300,100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
SimpleFrame sf = new SimpleFrame();
}
}
3.
SWT
Standard Widget Toolkit (SWT) adalah
toolkit bersaing yang awalnya dikembangkan oleh IBM dan kini dikelola oleh
komunitas Eclipse. Implementasi SWT yang memiliki lebih banyak kesamaan dengan
komponen kelas AWT. SWT merupakan pemecahan masalah yang terdapat pada rangka
kerja AWT dan Swing.
Blok Penyusun Suatu Aplikasi SWT
Ada beberapa blok penyusun
aplikasi SWT, yaitu :
1. Display
Display bertugas untuk mengatur
perulangan event (dari keyboard atau mouse) dan mengatur komunikasi antara
thread UI dan thread lainnya.
2. Shell
Shell adalah jendela di mana
aplikasi berjalan. Setiap aplikasi SWT memiliki paling tidak satu Display dan
satu atau lebih instansi Shell.
3. Kumpulan Widget
import java.awt.*;
public class contohguiawt{
public static void main(String[]args){
Frame myFrame=new Frame("Contoh Program AWT");
Label aLabel=new Label("SelamatBelajar Java");
myFrame.add(aLabel);
myFrame.setSize(200,150);
myFrame.show();
}
}
public class contohguiawt{
public static void main(String[]args){
Frame myFrame=new Frame("Contoh Program AWT");
Label aLabel=new Label("SelamatBelajar Java");
myFrame.add(aLabel);
myFrame.setSize(200,150);
myFrame.show();
}
}
Frame swing
n Memiliki 2 constructor, yaitu :
n JFrame()
n JFrame(String) à frame’s title
n Method yang adadalam class iniadalah :
n setTitle(String) à frame’s title
n setSize(int, int) à width & height (pixel)
n Default frame ketikadibuatadalah invisible,
makasetelahselesaidiset, selanjutnya frame didisplaykandengan method :
n show() atau
setVisible(true
n Normal behaviordari
frame ketikaditekantombol close adalah“keep running the application”
n Untukmerubahnya, digunakan method setDefaultCloseOperation()
denganpilihanargumendanoperasisbb :
n EXIT_ON_CLOSE àKeluardari program
n DISPOSE_ON_CLOSE à Close & Dispose
frame, tetapi
aplikasitetapberjalan
n DO_NOTHING_ON_CLOSE à Frame
tetapterbuka&aplikasi tetapberjalan
n HIDE_ON_CLOSE à Frame
ditutup&aplikasitetap
berjalan
n Jika frame tsbbertindaksebagai user interface utama,
makaperilaku yang umumnyadiharapkanadalah EXIT_ON_CLOSE
Frame awt
Pada
program diatasdilakukan import
terhadapjava.awt.*, karenapada program
diatas
menggunakankomponen AWT.
Untukmembentuksebuah window, harusdibuatsebuahobjek
dari
class Frame, program
diatasobjek win terbentukdari
class Frame. Sedangankanmetode
setSize, digunakanuntukmengaturukuran window,
danmetode show
digunakanuntuk
menampilkan window.
import java.awt.*;
public class AwtPertama
{
public static void main(String[] args)
{Frame win=new Frame(" Coba AWT");
win.setSize(300,200);
win.show();}
}
Tidak ada komentar:
Posting Komentar