Pages

Wednesday, October 19, 2011

Membuat Frame dengan Java


LISTING PROGRAM  :
import java.awt.*;
import java.awt.event.*;

class TesFrame extends Frame
{
            Label Lnama, Linfo;
            TextField texInput;
            Button tombol;
            public static void main(String[] args)
            {
                        TesFrame iniframeku = new TesFrame();
            }


            public TesFrame()
            {
                        super("Frame Percobaan");
                        setSize(300, 120);

                        Linfo = new Label("Selamat Datang Teman-Temanku ...");
                        Lnama = new Label("Nama Anda :");
                        texInput = new TextField("", 20);
                        tombol = new Button("PROSES");

                        Panel panelku = new Panel();
                        panelku.add(Lnama);
                        panelku.add(texInput);
                        add("North", panelku);

                        Panel panelku3 = new Panel();
                        panelku3.add(tombol);
                        panelku3.add(Linfo);
                        add("West", panelku3);
           
                        show();
                        addWindowListener(new TesFrame.TutupJendela());
                        tombol.addActionListener(new TesFrame.AksiTombol());
            }

            class TutupJendela extends WindowAdapter
            {
                        public void windowClosing(WindowEvent e)
                        {
                                    System.exit(0);
                        }
            }

            class AksiTombol implements ActionListener
            {
                        public void actionPerformed(ActionEvent e)
                        {
                                    String z = e.getActionCommand();
                                    if (z.equals("PROSES"))
                                    {
                                                String nama = texInput.getText();
                                                Linfo.setText("Hallo "+nama+" ...");
                                    }
                        }
            }
};


LOGIKA  PROGRAM  :
import java.awt.*;
import java.awt.event.*;

class TesFrame extends Frame
{
            Label Lnama, Linfo;
            TextField texInput;
            Button tombol;
            public static void main(String[] args)
            {
                        TesFrame iniframeku = new TesFrame();
            }

Fungsi blok program diatas yaitu import java.awt.*; dan  import java.awt.event.*; berfungsi untuk memanggil pustaka yang berada di awt dan awt.event. class TesFrame extends Frame berfungsi untuk badan program testFrame.java dan program berupa object frame bukan DOS. Lalu program mendeklarasikan object Lnama dan Linfo sebagai label, textinput sebagai textbox dan tombol sebagai command button. public static void main(String[] args) untuk mendeklarasikan kode utama dalam program. TesFrame iniframeku = new TesFrame(); berfungsi untuk mendeklarasikan objek turunan dari objek tesFrame dengan nama iniftameku.
           
public TesFrame()
            {
                        super("Frame Percobaan");
                        setSize(300, 120);

kita masuk pada fungsi public untuk objek tesFrame. super("Frame Percobaan"); maksudnya adalah member judul frame dengan nama yang berada dalam tanda petik dua. setSize(300, 120); ini untuk mengukur ukuran frame.
                       
Linfo = new Label("Selamat Datang Teman-Temanku ...");
                        Lnama = new Label("Nama Anda :");
                        texInput = new TextField("", 20);
                        tombol = new Button("PROSES");

yang dimaksud statement Linfo = new Label("Selamat Datang Teman-Temanku ..."); yaitu pada label Linfo akan tercetak kalimat yang berada di dalam tanda kutip dua dan pada statement Lnama = new Label("Nama Anda :"); di label Lnama akan tercetak yang berada di dalam tanda petik dua juga. texInput = new TextField("", 20); artinya turunan textField dengan nama textInput dan memiliki panjang field sebanyak 20. tombol = new Button("PROSES"); yaitu turunan button dengan tulisan proses .
                       
Panel panelku = new Panel();
                        panelku.add(Lnama);
                        panelku.add(texInput);
                        add("North", panelku);

Panel panelku = new Panel();artinya turunan panel dengan nama panelku. Lalu pada blok statement diatas akan menjalankan inputan nama di dalam panelku yang jenisnya text pada textbox.  Lalu yang telah di input akan disimpan di “north” atau atas.
                       
Panel panelku3 = new Panel();
                        panelku3.add(tombol);
                        panelku3.add(Linfo);
                        add("West", panelku3);

Panel panelku3 = new Panel();artinya turunan panel dengan nama panelku3. Lalu pada blok statement diatas akan menjalankan penekanan pada tombol di dalam panelku3 yang jenisnya command button pada tombol.  Lalu yang telah di input akan disimpan di “west” atau kiri.
                       
show();
                        addWindowListener(new TesFrame.TutupJendela());
                        tombol.addActionListener(new TesFrame.AksiTombol());
            }

Statement diatas artinya untuk melihat apa yang telah kita input dan menampilkannya pada textbox. addWindowListener(new TesFrame.TutupJendela()); maksudnya yaitu untuk membuka TesFrame dan memnculkan di layar, tombol.addActionListener(new TesFrame.AksiTombol()); untuk melihat yang di munculkan setelah kita menekan command button.

class TutupJendela extends WindowAdapter
            {
                        public void windowClosing(WindowEvent e)
                        {
                                    System.exit(0);
                        }
            }

Kelas ini diberi nama kelas Tutup jendela, kelas ini digunakan untuk menutup jendela (window) yang sedang digunakan. public void windowClosing(WindowEvent e) method ini dapat diakses secara public. Method inilah yang mendeklarasikan aksi (event) suatu window jika window
akan ditutup (close). WindowEvent e merupakan suatu tipe event yang digunakan untuk menutup window (close),me-minimize atau me-maximize. System.exit(0) merupakan perintah yang digunakan untuk memberitahu kepada sistem jika kita menekan tombol x pada jendela window, maka jendela window akan di tutup dengan mode 0.

            class AksiTombol implements ActionListener
            {
                        public void actionPerformed(ActionEvent e)
                        {
                                    String z = e.getActionCommand();
                                    if (z.equals("PROSES"))
                                    {
                                                String nama = texInput.getText();
                                                Linfo.setText("Hallo "+nama+" ...");
                                    }
                        }
            }
};

Kelas ini diberi nama kelas aksitombol, kelas ini digunakan untuk memberi aksi (event) pada sebuah button yang merupakan suatu event source. Untuk mengimplementasikannya kita harus menggunakan interface ActionListener sebagai event listener maka pada methodnya diimplementasikan denga actionPerformed. Public void actionPerformed(ActionEvent e) method ini dapat di akses secara public. ActionEvent e merupakan suatu tipe event yang digunakan untuk memberi aksi pada objek button dengan cara diklik.Jadi jika objek button di klik yaitu button yang bertuliskan PROSES, maka program akan menjalankan suatu program. String z = e.getActionCommand(); statement ini digunakan untuk mendeklarasikan bahwa variabel z merupakan variabel string yang nantinya digunkan untuk menginput nama kemudian e.getActionCommand digunakan untuk memperoleh perintah atau kata yang diinput. if (z.equals("PROSES")) equals digunakan untuk membandingkan dua buah string, jadi disini program akan membandingkan nilai dari variabel z dengan kata proses (kry yakin dgn perbandingan kata prosesna) jika nilai bernilai sama/benar maka program akan menjalankan program yang berada dalam blok program if yaitu :
String nama = texInput.getText(); perintah ini digunakan untuk menginput nama pada sebuah text box nama tersebut juga harus bertipe data string.
Linfo.setText("Hallo "+nama+" ..."); statement ini digunakan untuk menset text yang tadi telah diinput setelah menekan tombol (button) proses, maka jika user menginput suatu kata misalnya Erika tampilannya adalah sebagai berikut Hallo Erika..., jadi program akan mencetak kata yang berada di dalam tanda kurung dan di antara tanda kutip yaitu Hallo dan diikuti dengan mencetak kata yang berada di dalam variabel nama.


OUTPUT PROGRAM :

Berikut ini merupakan tampilan awal ketika program dijalankan, disini program meminta user untuk menginput namanya.


Setelah user menginput namanya kemudian tekan tombol PROSES maka akan tampil sebuah kalimt Hallo diikuti dengan nama user yang diinput
 

No comments:

Post a Comment