netbeans kom

Upload: hendra-suwito

Post on 10-Apr-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 netbeans kom

    1/15

    Lab. Teknik Informatika - FTI Universitas Gunadarma 73

    PERTEMUAN VI

    AWT DAN SWING

    1. Praktikan mengenal pembuatan GUI pada Java.2. Praktikan memahami action pada objek dalam Java.

    Selain untuk pemrograman yang berbasis konsol, java juga mendukung pemrograman

    berbasiskan GUI (Graphical User Interface), Salah satunya menggunakan AWT (Abstract

    Window Toolkit), AWT merupakan cara untuk membuat pemrograman windows pada java,

    komponen komponen AWT terdapat dalam paket java.awt. Selain itu dapat juga

    menggunakan swing untuk pemrograman berbasis window, Swing merupakan cara lain selain

    AWT untuk mengimplementasikan pemrograman window. Swing dikemas dalam paket bernama

    javax.swing.

    6.1 Pemrograman dengan AWT

    Seperti yang disebutkan diatas pemrograman AWT menggunakan komponen yang

    terdapat dalam paket java.awt.

    Berikut ini adalah contoh program sederhana menggunakan AWT:

    import java.awt.*;

    public class AwtPertama

    {

    public static void main(String[] bowo)

    {Frame win=new Frame(" Coba AWT");

    win.setSize(300,200);

    win.show();}

    }

    TUJUAN PRAKTIKUM

  • 8/8/2019 netbeans kom

    2/15

    Lab. Teknik Informatika - FTI Universitas Gunadarma 74

    Hasilnya

    Gambar 1.1 Contoh AWT

    Pada program diatas dilakukan import terhadap java.awt.*, karena pada program diatas

    menggunakan komponen AWT. Untuk membentuk sebuah window, harus dibuat sebuah objek

    dari class Frame, program diatas objek win terbentuk dari class Frame. Sedangankan metode

    setSize, digunakan untuk mengatur ukuran window, dan metode show digunakan untuk

    menampilkan window.

    Program diatas dapat di tulis dengan cara berbeda, yaitu dengan menurunkan sifat dari

    Frame kepada class AwtPertama, seperti dibawah ini

    import java.awt.*;

    public class AwtPertama extends Frame

    {

    AwtPertama()

    {

    super("Coba AWT");

    setSize(300,200);

    show();

    }

    public static void main(String[] bowo){

    AwtPertama obj=new AwtPertama();

    }

    }

  • 8/8/2019 netbeans kom

    3/15

    Lab. Teknik Informatika - FTI Universitas Gunadarma 75

    6.1.1 Komponen-komponen AWT

    AWT memilik beberapa komponen seperti Button, Label, TextField, CheckBox, List dan masih

    banyak lagi, namun kali ini akan dibahas hanya Button dan Label saja.

    6.1.1.1 Button

    Button merupakan kelas yang digunakan untuk memasang sebuah tombol pada window kita,

    bentuk umum penggunaan label adalah sebagai berikut:

    Button =new Button();

    dan berikut contoh pembuatan tombol :

    import java.awt.*;

    public class TesButton extends Frame {

    public static void main(String[] args) {

    TesButton apl = new TesButton();

    }

    public TesButton() {

    super("Tes Button");

    setSize(300, 100);

    Panel panelTombol = new Panel();

    panelTombol.add(new Button("Perbesar"));

    panelTombol.add(new Button("Selesai"));

    add("South", panelTombol);

    show();

    }

    }

    Yang tercetak merah adalah pendeklarasia objekdari class Button,lalu Button tersebut diletakkan

    pada sebuah panel dan ditempelkan pada window bagian bawah, berikut hasilnya

    Gambar 1.2 Komponen Button

    6.1.1.2 Label

    Label adalah class pada java yang digunakan untuk menampilkan sebuah text pada

    window, bentuk umum penggunaan Label adalah sebagai berikut :

  • 8/8/2019 netbeans kom

    4/15

    Lab. Teknik Informatika - FTI Universitas Gunadarma 76

    Label =new Label();

    contoh penggunaan label :

    import java.awt.*;

    public class TesButton extends Frame {

    public static void main(String[] args) {TesButton apl = new TesButton();

    }

    public TesButton() {

    super("COBA LABEL");

    setSize(300, 100);

    Panel panelTombol = new Panel();

    panelTombol.add(new Label("INI LABEL"));

    add("South", panelTombol);

    show();

    }

    }

    Yang tercetak merah adalah pendeklarasian objek dari class Label,lalu Label tersebut diletakkanpada sebuah panel dan ditempelkan pada window bagian bawah, berikut hasilnya

    Gambar 1.3 Contoh Label

    6.2 Pemrograman Swing

    Swing merupakan salah satu cara untuk mengimplementasikan pemrograman window pada java,

    beda swing dengan awt adalah bentuk komponen-komponen dari kelas swing sama bentuknya pada

    semua platform / sistem operasi.

    Contoh Swing :

    import javax.swing.*;

    class Swing extends JFrame

    {

    Swing(){

    super("INI SWING LHO...");

    setSize(300,300);

    show();

  • 8/8/2019 netbeans kom

    5/15

    Lab. Teknik Informatika - FTI Universitas Gunadarma 77

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

    public static void main(String[] args)

    {

    Swing sw=new Swing();

    }

    }

    HASILNYA :

    Gambar 1.4 Contoh Swing

    6.2.1 Komponen - Komponen Swing

    Dalam konteks antarmuka pengguna, komponen merupakan bagian fundamental di Java.

    Pada prinsipnya, segala sesuatu yang kita lihat di tampilan aplikasi Java adalah suatu

    komponen, seperti window, menu, dan button.

    Container adalah jenis komponen yang menampung dan mengelola komponen-

    komponen lainnya. Agar suatu komponen dapat digunakan, biasanya harus diletakkan di sebuah

    container.

    Komponen-komponen Swing dapat diklasifikasikan ke dalam 3 bagian yaitu:1. Top-level container berfungsi untuk menyediakan ruang bagi komponen-komponen lainnya.

    Container jenis ini terdiri atas JFrame, JWindow, Jdialog, dan Japplet.

    2. Intermediate container komponen (non top-level) yang keberadaannya untuk menampung

    komponen lainnya, misal panel, tabbed, dan tool bar.

    3. Komponen Atomic (tunggal) berfungsi untuk menampilkan dan/atau menerima informasi.

    Contohnya adalah text field, button, dan label.

  • 8/8/2019 netbeans kom

    6/15

    Lab. Teknik Informatika - FTI Universitas Gunadarma 78

    Kali ini hanya membahas komponen atomic seperti JButton, JLabel dan JtextField, dengan

    penjabaran sebagai berikut :

    6.2.1.1 JLabel

    JLabelmerupakan komponen yang digunakan untuk menampilkan teks yang pendekatau gambar atau keduanya. Komponen Label memiliki konstruktor sebagai berikut :

    KONSTRUKTOR

    JLabel()

    Menciptakan objek JLabel tanpa gambar dan tanpa teks

    JLabel(Icon gbr)

    Menciptakan objek JLabel dengan gambar tetapi tanpa teks

    JLabel(String str)

    Menciptakan objek JLabel dengan teks tetapi tanpa gambar

    JLabel(String str, Icon gbr, int pengaturanHorizontal)

    Menciptakan objek JLabel dengan gambar dan teks serta diatur dengan pengaturan horizontal

    JLabel(String str, Icon gbr, int pengaturanVertikal)

    Menciptakan objek JLabel dengan gambar dan teks serta diatur dengan pengaturan vertikal

    Contoh JLabel :

    Gambar 1.5 Gambar contoh JLabel

  • 8/8/2019 netbeans kom

    7/15

    Lab. Teknik Informatika - FTI Universitas Gunadarma 79

    6.2.1.2. JButton

    Kelas JButton berguna untuk membuat objek tombol yang dapat dilengkapi dengan judul

    tombol dan gambar, selain itu JButton merupakan komponen yang dapat menghasilkan suatu

    event jika tombol diklik oleh user.

    Komponen JButton memiliki konstruktor sebagai berikut :

    KONSTRUKTOR

    JButton()

    Menciptakan objek JButton tanpa gambar dan tanpa teks

    JLabel(Icon gbr)

    Menciptakan objek JButton dengan gambar tetapi tanpa teks

    JLabel(String str)

    Menciptakan objek JButton dengan teks tetapi tanpa gambar

    JLabel(String str, Icon gbr)

    Menciptakan objek JLabel dengan gambar dan teks.

    Contoh dari JButton :

    Gambar 1.6 Gambar Contoh Jbutton

  • 8/8/2019 netbeans kom

    8/15

    Lab. Teknik Informatika - FTI Universitas Gunadarma 80

    6.2.1.3. JTextField

    JTextField merupakan objek yang berguna untuk memasukkan atau mengedit data satu

    baris.

    Komponen JTextField memiliki konstruktor sebagai berikut :KONSTRUKTOR

    JTextField()

    Menciptakan objek JTextField baru tanpa nilai awal String

    JTextField(String str)

    Menciptakan objek JButton dengan gambar tetapi tanpa teks

    JTextField(String str,int Kolom)

    Menciptakan objek JButton dengan teks tetapi tanpa gambar

    JTextField( int Kolom)

    Menciptakan objek JLabel dengan gambar dan teks.

    JTextField(Document doc, String str, int Kolom)

    Menciptakan objek JButton dengan teks tetapi tanpa gambar

    Contoh JTextField() :

    Gambar 1.7 Gambar contoh JTextField

  • 8/8/2019 netbeans kom

    9/15

    Lab. Teknik Informatika - FTI Universitas Gunadarma 81

    6.2.2 Pengaturan tata letak komponen

    Pengaturan tata letak pada java dapat dilakukan dengan setlayout yaitu FlowLayout,

    GridbagLayout, BorderLayout, BoxLayout, SpringLayout dan CardLayout, selain itu bisa juga

    dengan metode setBounds(x,y,p,l). Dimana x dan y adalah koordinat, dan p adalah panjang objekdan l adalah lebar objek. Tetapi sebelum melakukannya, pastikan bahwa layout sudah

    dibuat null, dengan cara memanggil metode getContentPane().setLayout(null). Setelah

    itu komponen di tempel pada window dengan cara getContentPane().add().

    Berikut contohnya :

    getContentPane().setLayout(null);

    but.setBounds(50,250,150,24);

    lb.setBounds(50,50,100,24);jt.setBounds(50,100,200,100);

    getContentPane().add(but);

    getContentPane().add(lb);

    getContentPane().add(jt);

    but.addActionListener(this);

    show()

    6.3 Penanganan Kejadian

    Penanganan kejadian atau ActionEvent pada java merupakan suatu cara untuk berinteraksi

    antara program dengan user. Penanganan kejadian yang akan dibahas berikut ini adalah paket

    dari java.awt.event.* . Tabel berikut memperlihatkan beberapa event dan event listener yang

    umumnya diperlukan dalam aplikasi.

    Event Event Listener

    Klik button, menekan Enter di text field,

    atau memilih item menuActionListener

    Menutup window WindowListener

    Menekan button mouse saat kursor berada

    diatas komponenMouseListener

    Memindahkan kursor MouseMotionListener

    Menampilkan komponen ComponentListener

    Komponen mendapat fokus FocusListener

    Mengubah pemilihan tabel atau list ListSelectionListener

  • 8/8/2019 netbeans kom

    10/15

    Lab. Teknik Informatika - FTI Universitas Gunadarma 82

    Penanganan kejadian yang digunakan dalam penulisan ini adalah kelas yang terdapat

    pada paket java.awt.event. Sebelumnya pada penamaan class harus mengimplementasikan

    ActionListener.Pada paket ini dapat digunakan oleh komponen AWT maupun SWING, agar

    objek dapat menangani suatu kejadian, objek tersebut harus didaftarkan sebagai listener.

    Contohnya adalah sebagai berikut :

    JButton But = new JButton(Kirim);

    But.addActionListener(this);

    Dan penulisan isi respon dari objek ditulis pada metode void actionPerformed(ActionEvent e){}.

    Contoh Penanganan Kejadian :

    import javax.swing.*;

    import java.awt.event.*;

    class Coba extends JFrame implements ActionListener

    {

    JButton But = new JButton(Kirim);

    but.addActionListener(this);

    show();

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

    public void actionPerformed(ActionEvent e)

    {

    if(e.getSource()==but){String kata="";

    kata=jt.getText();

    JOptionPane.showMessageDialog(null,kata);}

    }

    Program 1

    Contoh program inputan dengan applet :

    //nama file:InputDialog1.java

    import javax.swing.JOptionPane;

    class InputDialog1

    {

    public static void main(String[] args){

    String nama;

    nama = JOptionPane.showInputDialog("Ketik Nama anda : ");

    System.out.println("Hello " + nama);

    System.exit(0);

    }

    }

  • 8/8/2019 netbeans kom

    11/15

    Lab. Teknik Informatika - FTI Universitas Gunadarma 83

    Catatan : Disini kita menggunakan template JoptionPane, yang memang digunakan

    untuk menampilkan message box.

    Program 2//Nama File : GUIfak.java

    //Nama Program : Program untuk menghitung nilai faktorial

    import javax.swing.*;

    import java.awt.event.*;

    import java.awt.*;

    class GUIfak extends JFrame implements ActionListener

    {

    double hasil;

    Container con = new Container();

    JButton hapus, ok;

    JTextField tex1, tex2;

    double fakt(double angka)

    {

    if(angka == 0)

    {

    return 1;

    }

    else

    {

    return angka*fakt(angka-1);

    }

    }

    public GUIfak()

    {

    super("faktorial niy..!!");

    setSize (300,250);

    ok = new JButton ("faktorial");

    hapus = new JButton ("hapus");

    ok.addActionListener (this);

    hapus.addActionListener (this);

    JPanel tombol = new JPanel ();

    hapus.setEnabled (false);

    tombol.setLayout (new GridLayout(1,2,10,10));

  • 8/8/2019 netbeans kom

    12/15

    Lab. Teknik Informatika - FTI Universitas Gunadarma 84

    tombol.add (hapus);

    tombol.add(ok);

    tex1 = new JTextField("");

    tex2 = new JTextField("");

    tex2.setEditable (false);

    JPanel tex = new JPanel();

    tex.setLayout(new GridLayout (2,1,10,10));

    tex.add(tex1);

    tex.add(tex2);

    con = getContentPane();

    con.setLayout(null);

    tex.setBounds(100,80,100,50);

    tombol.setBounds(50,150,200,30);

    con.add(tombol);

    con.add(tex);

    show();

    }

    public void actionPerformed (ActionEvent e)

    {

    try

    {

    if (e.getSource()==ok)

    {

    hapus.setEnabled(true);

    String a;

    double angka = Double.parseDouble(tex1.getText());

    hasil = fakt(angka);

    }

    tex2.setText(Double.toString(hasil));

    if (e.getSource() == hapus)

    {

    tex1.setText("");

    tex2.setText("");

    hapus.setEnabled(false);

    }

    }

  • 8/8/2019 netbeans kom

    13/15

    Lab. Teknik Informatika - FTI Universitas Gunadarma 85

    catch(Exception ex)

    {

    hapus.setEnabled(false);

    JOptionPane.showMessageDialog(this, "Masukkan nilai yang

    benar..!!");

    }

    }

    public static void main(String[] Zzzz)

    {

    GUIfak q = new GUIfak();

    q.setResizable(false);

    q.setDefaultCloseOperation(EXIT_ON_CLOSE);

    }

    }

    Penjelasan Program 2 :

    Pada listing program diatas berisi konstruktor untuk kelas GUIfak(). Kelas GUI

    memperluas kelas Frame(extends merupakan kata kunci untuk pewarisan. Kelas

    Frame adalah komponen GUI yang mengimplementasikan jendela dengan bingkai.

    Jendela tidak hanya berupa empat titik sudut dengan bingkai. Jendela juga

    merupakan container yang dapat memuat komponen GUI lainnya. Oleh karena kita perlu membuat komponen grafis lain dan menambahkannya ke frame dengan

    metode add().

    Mendeklarasikan variabel hasil dengan tipe double, hapu, ok menggunakan JButton

    dan tex1, tex2 menggunakan JTextField. Terdapat fungsi fakt yang berisi proses

    penghitungan factorial.

    Kemudian mendesain tampilan yaitu membuat judul dan memberikan ukuran untuk

    bingkai serta membuat tampilan teks, tombol. Kita juga menambahkan sesuatu yang

    disebut panel yang digunakan untuk mengelompokkan komponen grafis bersama-

    sama. Listing diatas menggunakan dua panel, satu untuk menyimpan dan

    meletakkan tombol-tombol dan satu lagi untuk memuat informasi record. Panel

    tombol dan panel tex menggunakan layout khusus yang disebut layout grid (baris,

    kolom, range horizontal, range vertical). Dengan layout grid, anda dapat membuat

    matriks dengan baris dan kolom yang membentuk sel berukuran sama, dan disinilah

  • 8/8/2019 netbeans kom

    14/15

    Lab. Teknik Informatika - FTI Universitas Gunadarma 86

    komponen-komponen grafis di letakkan. Kita meletakkan field teks di dekat sel pada

    grid dan tombol di bawah dari field teks. Field teks adalah komponen grafis yang

    mengimplementasikan string teks yang dapat di edit. Container adalah komponen

    yang menyimpan komponen-komponen lain lalu akan ditampilkan dengan

    memanggil metode show() untuk menampilkan jendela beserta semua

    komponennya.

    Pada listing diatas, diprogram dengan model pemrograman event driven digunakan

    untuk menerima pemilihan menu dan pemilihan tombol. Pada java, GUI anda dapat

    menangkap kejadian dari system dengan menumpangi metode action performed()

    parameternya action event. Kata kunci try digunakan untuk menentukan suatu blok

    program yang harus di jaga terhadap semua eksepsi. Segera setelah blok

    try,masukkan bagian catch yang menentukan tipe eksepsi yang ingin ditangkap.

    Pada blok try berisi statement kondisi dimana jika ditekan tombol ok akan dilakukan

    pemrosesan nilai yang dimasukkan dari tex1 tipe string diubah menjadi tipe double

    untuk menghitung factorial dan ditampilkan di tex2 lalu jika ditekan tombol hapus

    maka akan menghapus kedua teks. Bagian catch menangkap kesalahan dan akan

    mencetak pesan untuk melakukan inputan kembali. Lalu program utama dimana

    membuat objek q dan memanggil program.

    OUTPUT :

    1. Sebutkan pemrograman yang digunakan untuk pembuatan GUI pada Java!2.Sebutkan komponen AWT dan SWING!

    1. Memberikan penjelasan tentang GUI di Java.2. Memberikan penjelasan serta memberikan contoh implementasi komponen AWT dan SWING.

    STEP BY STEP

    MATERI PRAKTIKUM

  • 8/8/2019 netbeans kom

    15/15

    Lab. Teknik Informatika - FTI Universitas Gunadarma 87

    Buatlah kesimpulan mengenai pembuatan GUI pada bahasa pemrograman JAVA yang

    telah dipraktekkan beserta dengan program-program yang telah dibuat berikut tampilan

    hasilnya.

    LAPORAN AKHIR