Saturday, May 26, 2012

GUI AWT


1.      DASAR TEORI
GUI (Graphical User Interface) merupakan suatu metode untuk antar muka komputer berbasis grafis. GUI digunakan dalam pembuatan program aplikasi dengan mempertimbangkan dua aspek yaitu keindahan tampilan dan kemudahan penggunaan program. Keindahan tampilan akan mempengaruhi orang untuk melihat dan merasa senang dengan program yang dibuat, dan kemudahan menggunakan program akan berdampak pada ketertarikan orang untuk terus menggunakan program yang dibuat.
Java memiliki dua kelas untuk bekerja dengan GUI, yaitu AWT (Abstract Windowing Toolkit) dan Swing.
AWT terdapat dalam package java.awt. package ini berisi komponen-komponen GUI yang bersifat platform oriented atau tergantung pada suatu platform sistem operasi. Beberapa fasilitas yang di sediakan package java.awt adalah :
1.      pengaturan tata letak (layout management) komponen dalam suatu container.
2.      mendukung event handling, yaitu mekanisme pendeteksian event dan penentuan respona yang akan di berikan ketika pengguna (user) mengakses komponen tersebut.
3.      manipulasi grafis dari komponen,seperti font, warna,icon, dsb.
Komponen merupakan kelas abstrak dari semua komponen yang digunakan untuk merancang GUI. Sedangkan  container merupakan subkelas dari komponen yang berfungsi untuk memuat komponen-komponen lainnya.
Kelas Window merupakan top level class, sehingga tidak dapat disisipkan pada komponen atau kontainer lainnya. Kelas window memiliki 2 subkelas yaitu kelas Dialog dan kelas Frame. Frame dapat diubah ukurannya (resize), dapat digerakkan, dan dapat memiliki title bar, icon, dan menu. Dialog bersifat sama seperti Frame, yaitu dapat di-resize dan digerakkan namun tidak dapat ditambahkan icon atau menu bar.
Kelas Panel digunakan untuk pengorganisasian tata letak komponen (layout) sebelum ke Frame.  

Komponen Kontrol GUI dapat dibagi menjadi dua kelas besar yaitu Kelas Component dan kelas MenuComponent. Kelas Component terdiri dari beberapa komponen kontrol GUI, seperti Button, List, Scrollbar, TextField dan TextArea. Sedangkan Kelas MenuComponent terdiri dari komponen kontrol yang digunakan untuk membuat Menu.
Button adalah tombol dengan label text dan akan mentrigger event ketika user mengklik/menekan tombol tersebut . Konstruktornya yaitu  Button() dan Button(String label).
Canvas merupakan komponen berbentuk persegi panjang kosong yang digunakan untuk menggambar/membuat image.
Checkbox adalah komponen yang menyediakan suatu set pilihan yang dapat dicentang atau tidak dicentang. Sedangkan CheckGroup merupakan suatu kelompok checkbox yang memiliki sifat seperti Radio Button. User hanya dapat memilih satu pilihan, tidah boleh lebih.
Choice merupakan komponen yang memberikan menu yang dapat muncul secara otomatis (pop-up). Choice menggunakan konstruktor Choice().
Label merupakan komponen yang digunakan untuk menampilkan tulisan/pesan yang hanya dapat dibaca, tidak dapat dimodifikasi. Konstruktor yang digunakan yaitu Label(), Label(String text), dan Label(String text, int alignment).
List yaitu komponen yang berupa List pilihan yang dapat digulung (scroll). Kontruktor yang digunakan adalah  List(), List(int row) dan List(int rows, boolean multipleMode)
Scrollbar adalah komponen untuk melakukan pergeseran suatu tampilan agar bisa bergeser ke atas, ke bawah, ke kiri atau ke kanan. Konstruktor:   Scrollbar(),  Scrollbar(int Orientation), dan Scrollbar(int Orientation, int visible, int value, int minimum, int maximum).
Kelas TextComponent merupakan superkelas suatu komponen yang berfungsi untuk mengedit teks.  Subkelas dari TextComponent pada java.awt yaitu class TextArea dan class TextField. TextField merupakan komponen yang digunakan untuk menulis text yang berukuran kecil. TextArea adalah komponen yang dipakai untuk menerima masukan dari pengguna berupa teks yang terdiri atas beberapa baris, sehingga biasanya didefinisikan dengan lebar dan tinggi areanya.

2.      CONTOH PROGRAM
Contoh program dari GUI AWT yaitu :

/*
 * gui awt kelompok 3
 */

package guiawt;

/**
 * @author kelompok 3
 */
import java.awt.*;
public class Main extends Frame {

    // definisi komponen
            Button ok, cancel;
            List list;
            Choice choice;
            CheckboxGroup checkbox_group;
            Checkbox[] checkboxes;
            TextField textfield;
            TextArea textarea;
            Scrollbar scroll1;
            Scrollbar scroll2;
            Label label;

            Panel panel1, panel2;
            Panel buttonpanel;

// constructor
            public Main (String title) {
                        super(title);

            // menciptakan elemen
            // 1. Button
            ok = new Button("OK");
            cancel = new Button("Cancel");
            // 2. choice
choice = new Choice();
            choice.addItem("Merah");
            choice.addItem("Hijau");
            choice.addItem("Biru");
            // 3. checkbox
            checkbox_group = new CheckboxGroup();
            checkboxes = new Checkbox[3];
            checkboxes[0] = new Checkbox("vanilla", checkbox_group, false);
            checkboxes[1] = new Checkbox("chocolate", checkbox_group, true);
            checkboxes[2] = new Checkbox("strawberry", checkbox_group, false);
            // 4. list
            list = new List(3, true);
            list.addItem("Java");
            list.addItem("C++");
            list.addItem("Pascal");
            list.addItem("Visual Basic");
            list.addItem("Modula-3");
            // 5. textfield
            textfield = new TextField(15);
            // 6. textarea
            textarea = new TextArea(6,30);
textarea.setText("Teks yang ditampilkan dalam textArea ini\n tidak bisa di-edit");
            textarea.setEditable(false);
            // 7. scrollbar
            scroll1 = new Scrollbar(Scrollbar.HORIZONTAL,0,5,0,100);
            scroll2 = new Scrollbar(Scrollbar.VERTICAL,0,5,0,100);
            // 8. label
            label = new Label("Contoh berbagai komponen GUI");
            // 9. panel
            // membuat panel
            panel1 = new Panel();
            panel2 = new Panel();
            buttonpanel = new Panel();

            setLayout(null);
            label.setBounds(50,45,250,25);
            panel1.setBounds(10,75,200,150);
            panel2.setBounds(300,50,250,250);
            buttonpanel.setBounds(10,250,100,100);

            // menempatkan komponen dalam panel
            panel1.add(textfield);
            panel1.add(choice);
            panel1.add(checkboxes[0]);
            panel1.add(checkboxes[1]);
            panel1.add(checkboxes[2]);
            panel1.add(list);

            panel2.add(textarea);
            panel2.add(scroll1);
            panel2.add(scroll2);

            buttonpanel.add(ok);
            buttonpanel.add(cancel);

            this.add(label);
            this.add(panel1);
            this.add(panel2);
            this.add(buttonpanel);
            }

    public static void main(String[] args) {
        Frame f = new Main("Demo Komponen AWT");
                        f.pack();
                        f.resize(600,300);
                        f.show();
    }
}

3.      HASIL RUNNING

Hasil running program guiawt yang telah mencakup aspek-aspek yang telah tercantum pada dasar teori dan presentasi yaitu :

No comments:

Post a Comment