laporan praktikum modul 3 (pemrograman swing 3)

23
LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN 2 MODUL III DISUSUN OLEH NAMA : DEVI NIM : 2012081043 KELAS : TI2012A

Upload: devi-apriansyah

Post on 16-Apr-2017

135 views

Category:

Engineering


12 download

TRANSCRIPT

Page 1: Laporan praktikum modul 3 (pemrograman swing 3)

LAPORAN PRAKTIKUMBAHASA PEMROGRAMAN 2

MODUL III

DISUSUN OLEHNAMA : DEVINIM : 2012081043KELAS : TI2012A

LABORATORIUM KOMPUTERFAKULTAS ILMU KOMPUTER

UNIVERSITAS KUNINGAN2014

Page 2: Laporan praktikum modul 3 (pemrograman swing 3)

I. DASAR TEORI

Selain package java.awt, java juga memiliki package javax.swing untuk

membuat komponen GUI. Swing lebih portable daripada AWT karena

beberapa komponennya bersifat multiplatform sehingga disebut juga

komponen lightweight.

Komponen Swing

Komponen-komponen Swing dapat dibagi menjadi beberapa kategori,

yaitu:

1. Root Container

Nama Container Deskripsi

JWindow Merupakan top level container tanpa border, title bar, atau fungsi manajemen window lainnya.

JFrameMerupakan top level container dan dilengkapi dengan border, title bar, atau fungsi manajemen window lainnya. Digunakan sebagai window aplikasi.

JDialog

Merupakan top level container dan dilengkapi dengan border, title bar, atau fungsi manajemen window lainnya. Digunakan sebagai window sementara untuk mengambil input dari user.

JApplet Container yang disisipkan (embedded) ke dalam aplikasi lainnya.Digunakan pada web browser.

JInternalFrame Container lightweight yang mengemulasikan fitur dari native frame.

2. Label dan Button

Komponen Swing

Padannya dengan komponen AWT Deskripsi Komponen Swing

JLabel Label Teks singkat yang diletakan pada komponen

AbstractButton tidak ada Merupakan kelas abstract dari semua komponen Button

JButton Button Merupakan push button

JToggleButton tudak ada Mengimplementasikan Button dengan dua kondisi/state

JCheckBox Checkbox tanpa CheckboxGroup

Mengimplementasikan item CheckBox

JRadioButton Checkbox dengan CheckboxGroup

Mengimplementasikan item RadioButton

JMenuItem MenuItem Mengimplementasikan Item dalam menu item

Page 3: Laporan praktikum modul 3 (pemrograman swing 3)

JMenu Menu Mengimplementasik suatu menuJCheckBoxMenuItem CheckBoxMenuItem Mengimplementasikan

CheckBox di dalam menuJRadioButtonMenuItem tidak ada Mengimplementasikan

RadioButton di dalam menu

3. Komponen Lightweight

Komponen Swing

Lightweight

Padannya dengan komponen AWT Deskripsi Komponen Swing

JPanel Panel General Purpose container

JMenuBar MenuBarDigunakan untuk membuat bar menu yang mengandung komponen JMenu

JToolBar tidak adaContainer untuk menempatkan menu/fungsi-fungsi yang akan digunakan

JScrollBar Scrollbar Scrollbar

JSlider Scrollbar Komponen yang dapat digeser-geser posisinya.

JProgressBar tidak adaKompone yang dapat mengindikasikan kemajuan suatu proses

JList List List dari item-itemJComboBox Choice

JSeparator tidak adaKomponen yang menyediakan garis pemisah diantara komponen

4. Komponen Text

Komponen Swing Text

Padannya dengan komponen AWT Deskripsi Komponen Swing

JTextComponent TextComponent Merupakan kelas abstract untuk semua kompinen text

JTextField TextFieldKomponen untuyk menampungtext singkat (satu baris) yang dapat diedit.

JPasswordField TextField dengan set karakter echo

Komponen sebagai input password

JTextArea TextAreaKompone yang dapat menampung text berjumlah lebih dari satu baris dan dapat diedit.

JEditorPane tidak ada Komponen untuk mengedit

Page 4: Laporan praktikum modul 3 (pemrograman swing 3)

barbagai jenis text.

JTextPane tidak adaKomponen untuk mengedit berbagai jenis text dengan banyak style.

5. Komponen Space-saving

Komponen Swing Space-

saving

Padannya dengan komponen AWT Deskripsi Komponen Swing

JScrollPane ScrollPane Digunakan untuk men-scroll komponen yang besar.

JTabbedPane tidak adaDigunakan untuk membuat pilihan multiple page dengan tombol tab.

JSplitPane tidak ada Untuk meng-adjust pembagi di antara dua komponen.

6. Komponen dengan Model Kompleks

Komponen Swing Model

Kompleks

Padannya dengan komponen AWT Deskripsi Komponen Swing

JTable tidak ada Merepresentasikan data dalam tabel dua dimensi.

JTree tidak ada Merepresentasikan set data, seperti pada windows explorer

7. Komponen yang tersusun dari komponen lain

Komponen Swing

Padannya dengan komponen AWT Deskripsi Komponen Swing

JFileChooser FileDialog Mengijinkan user untuk memilih satu atau lebih file atau direktori.

JColorChooser tidak ada Mengijinkan user untuk memilih suatu warna dari template warna.

JOptionPane tidak ada Menampilkan suatu list pilihan.

  Event Handling

Event Handling adalah suatu metode untuk menangani sebuah event/aksi yang diberikan pengguna kepada suatu komponen GUI. Event adalah suatu peristiwa yang dipicu oleh pengguna pada suatu komponen,

Page 5: Laporan praktikum modul 3 (pemrograman swing 3)

misalnya tombol ditekan. Dua paket yang biasa digunakan menangani kejadian adalah java.awt.event dan java.swing.event. Event handling dalam menangani event terbagi menjadi 2 macam yaitu Event Source, Event Listener atau Event Handler.

1. Event Source

Event Source adalah komponen yang mendapatkan suatu event yang kemudian ditangkap oleh Event Listener. Event Source dapat dibedakan dari penamaan komponen itu sendiri, misalnya tombolSimpan, tombolhapus, dan lainnya. Dengan penamaan Event Source ini, Sebuah Event Listener akan dapat mendeteksi dari mana Event Listener tersebut berasal. Jadi, Event source adalah suatu objek yang membangkitkan event. Sebagai contoh, pada saat user melakukan klik terhadap objek button, maka button dianggap sebagai event source.

Event source harus mendaftarkan listener. Hal ini dilakukan agar listener dapat atau mampu mendengarkan dan menproses event-event yang terjadi pada objek bersangkutan. Untuk mendaftarkan listener ke dalam event source, kita harus menggunakan bentuk umum sebagai berikut :

Public void addTypeListener (TypeListener eventListener)

Dalam hal ini, Type adalah event yang terjadi. Sebagai contoh, method yang digunakan untuk mendaftarkan listener yang berkaitan dengan keyboard akan dinamakan dengan addKeyListener(). Begitu pula untuk mendaftarkan listener yang berkaitan dengan mouse, methodnya akan dinamakn dengan addMouseMotionListener().

Listener yang sudah didaftarkan ke dalam event source dapat dipindahkan dengan menggunakan bentuk umum berikut :

Public void removeTypeListener(TypeListener eventListener)

Type menunjukkan tipe event yang terjadi pada objek yang berperan sebagai event source.

2. Event Listener

Event listener adalah objek yang diberitahu pada saat suatu event terjadi pada event source. Event listener diimplementasikan ke dalam bentuk interface. Dengan demikian, untuk mengimplementasikan

Page 6: Laporan praktikum modul 3 (pemrograman swing 3)

salah satu listener tertentu, perlu mendefinisikan method yang terdapat pada interface bersangkutan. Sebagai contoh, interface ActionListener mendeklarasikan sebuah method abstrak dengan nama actionPerformed(). Jadi, apabila ingin membuat kelas yang mengimplementasikan interface ActionListener, maka harus mendefinisikan method actionPerformed() didalam kelas yang dibuat. Java telah menyediakan sekumpulan interface yang digunakan sebagai event listener. Interface – interface tersebut tersimpan dalam paket java.awt.event. dengan demikian, apabila ingin membuat event handler pada program GUI yang dibuat maka perlu mengimport packages tersebut.

Event Listener digunakan untuk menangkap event yang terjadi pada komponen/Event Source. Dibawah ini disajikan beberapa listener yang dapat digunakan dalam mendeteksi event.

Interface – interface pada event Listener

Tabel dibawah ini menunjukkan beberapa listener interface yang biasanya digunakan :

ActionListener Mendefinisikan sebuah method untuk menangani terjadinya event ActionEventvoid actionPerformed(ActionEvent e)

AdjustmentListener Mendefinisikan sebuah method untuk menangani terjadinya event AdjustmentEvent

ComponentListener Mendefinisikan empat mthod untuk menangani terjadinya event Componentvoid componentResize(ComponentEvent e)void componentMoved(ComponentEvent e)void componentShown(ComponentEvent e)void componentHidden(ComponentEvent e)

ContainerListener Mendefinisikan dua method untuk menangani terjadinya event ContainerEvent.

FocusListener Mendefinisikan dua method untuk menangani terjadinya event FocusEventvoid focusGained (FocusEvent e)void focusLost (FocusEvent e)

ItemListener Mendefinisikan sebuah method untuk menangani terjadinya event ItemEvent

KeyListener Mendefinisikan tiga method untuk menangani terjadinya event KeyEventvoid KeyPressed(KeyEvent e)void KeyReleased(KeyEvent e)

Page 7: Laporan praktikum modul 3 (pemrograman swing 3)

void KeyTyped(KeyEvent e)MouseListener Mendefinisikan lima method untuk menangani

terjadinya event MouseEventvoid mouseClicked (MouseEvent e)void mouseEntered (MouseEvent e)void mouseExited (MouseEvent e)void mousePressed (MouseEvent e)void mouseReleased (MouseEvent e)

MouseMotionListener Mendefinikan dua method untuk menangani terjadinya event mouseEvent (pada saat mouse di-drag atau dipindahkan)void mouseDragged(MouseEvent e)void mouseMoved(MouseEvent e)

TextListener Mendefinisikan sebuah method untuk menangani terjadinya event TextEventvoid textChanged(TextEvent e)

WindowListener Mendefinisikan tujuh method untuk menangani terjadinya event WindowEventvoid windowActived(WindowEvent e)void windowClosed(WindowEvent e)void windowClosing(WindowEvent e)void windowDeactivated(WindowEvent e)void windowDeiconified(WindowEvent e)void windowIconified(WindowEvent e)void windowOpened(WindowEvent e)

Kelas-Kelas Event

Kelas – kelas event merepresentasikan tipe – tipe event yang dapat terjadi pada sebuah event source. Semua kelas event di dalam java diturunkan dari kelas EventObject, yang salah satu constructornya berbentuk seperti berikut :

EventObject(Object src)

src adalah object yang membangkitkan event ini. Kelas event object memiliki dua buah method, yaitu getSource() dan toString(). Method getSource digunakan untuk memperoleh object yang  mengirimkan event. Adapun bentuk umum dari method getSource() sebagai berikut :

Object getSource()

Page 8: Laporan praktikum modul 3 (pemrograman swing 3)

Java menyediakan beberapa tipe event yang diunggulkan oleh berbagai macam elemen yang terdapat dalam user interface. Tipe – tipe event tersebut disimpan dalam paket java.awt.event

Tabel berikut ini akan menunjukkan beberapa event penting :

ActionEvent Dibangkitkan pada saat objek button diklik, item didalam list di-double click, maupun item menu dipilih.

AdjustmentEvent Dibangkitkan pada saat objek scrollbar dimanipulasiComponentEvent Dibangkitkan pada saat suatu komponen

disembunyikan, dipindahkan, diubah ukurannya, maupun diset ke keaadaan visible

ContainerEvent Dibangkitkan pada suatu saat komponen ditambahkan/dipindahkan ke/dari sebuah container

FocusEvent Dibangkitkan pada saat suatu komponen memperoleh kehilangan fokus keyboard

InputEvent Kelas induk (berupa kelas abstrak) dari semua kelas yang termasuk ke dalam event input.

ItemEvent Dibangkitkan pada saat sebuah item dala list atau checkbox di-click, juga terjadi pada saat item-nya di-buat, dan pada saat item menu di-check maupun di uncheck

KeyEvent Dibangkitkan pada saat input dilakkan melalui keyboard.

MouseEvent Dibangkitkan pada saat mouse didrag, dipindahkan, di click, ditekan, maupun dilepas. Juga terjadi pada saat mouse memasuki atau keluar dari suatu komponen.

TextEvent Dibangkitkan pada saat text yang berada dalam komponen text area atau text field diubah

WindowEvent Dibangkitkan pada saat window atau form diaktivasi, ditutup, di-minimize, di-maximize, dibuka, atau dikeluarkan.

Rangkain User Action, Source Object., dan Tipe Event

User Action Source Object Tipe EventMengklik suatu button JButton ActionEventMengubah text JtextComponent TextEventMenekan tombol enter pada suatu komponen text field JTextField ActionEvent

Memilih suatu event baru JcomboBox ItemEvent, ActionEvent

Page 9: Laporan praktikum modul 3 (pemrograman swing 3)

Memilih satu atau atau banyak item Jlist ListSelectionEvent

Memilih suatu check box JcheckBox ItemEvent, ActionEvent

Memilih suatu radio button JRadioButton ItemEvent, ActionEvent

Memilih suatu item menu JmenuItem ActionEvent

Menggerakkan scroll bar JscrollBar AdjustmentEvent

Window terbuka, tertutup, diberi icon dilepaskan, atau window menutup. Window WindowEvent

Komponen ditambahkan atau dibuang dari kontainer Container ContainerEven

tKomponen digerakkan, di resize, disembunyikan (hidden), atau ditampilkan

Component ComponentEvent

Komponen seketika menjadi fokus atau kehilangan fokus Component FocusEvent

Key ditekan atau dilepaskan Component KeyEventMouse ditekan, dilepaskan, diklik, atau ketika mouse memasuki atau keluar dari suatu komponen.

Component MouseEvent

Mouse digerakkan atau di-drag Component MouseEvent

3. Event Object

Ketika sebuah event terjadi (misal ketika user berinteraksi dengan komponen GUI), sebuah objek event diciptakan. Objek berisi senua informasi yang perlu tentang event yang telah terjadi. Informasi meliputi tipe dari event yang telah terjadi, seperti ketika mouse telah di-klik. Ada beberapa class event untuk kategori yang berbeda dari user action.  Sebuah event object mempunyai tipe data tentang salah satu dari class ini.

  Event Handling merupakan konsep penanganan suatu action yang terjadi. Jadi suatu program akan berjalan saat sesuatu terjadi, misalnya saat tombol diklik, saat combo box dipilih dan sebagainya. Java memiliki beberapa jenis Event Handling, salah satunya adalah class ActionListener yang menangani aksi terhadap tombol. Berikut ini contoh programnya:

Page 10: Laporan praktikum modul 3 (pemrograman swing 3)

II. PRAKTIKUM DAN PEMBAHSAN

1. Praktek ContohJRadioButton

Kode Program:

Pembahasan:

Page 11: Laporan praktikum modul 3 (pemrograman swing 3)

Script di atas adalah contoh component JRadioButton, class

tersebut bernama Devi1 yang di turunkan dari javax.swing.JFrame. Script

diatas menggunakan komponen JRadioButton dengan variabel satu, dua

dan tiga, komponen JPanel dan komponen JTextArea dengan variabel

Hasil. Selain itu terdapat komponen ButtonGroup, yaitu digunakan untuk

mengelompokan RadioButton kedalam sebuah group yaitu dengan

variabel gb, jadi setiap RadioButton harus termasuk ke dalam variabel gb.

JRadioButton menggunakan event Listener dengan interface

ActionListener. Pada baris 116, 119 dan 122 adalah script untuk

menambahkan event pada JRadioButton.

“Hasil.setText("Pilihan Anda : \n Satu");.

Ketika kita memilih salah satu maka hasilnya akan diset dalam text area,

variabel textarea tersebut adalah Hasil.

Output:

2. Praktek ContohJList

Kode Program:

Page 12: Laporan praktikum modul 3 (pemrograman swing 3)
Page 13: Laporan praktikum modul 3 (pemrograman swing 3)

Pembahasan:

Script di atas adalah contoh component JList, class tersebut

bernama Devi2 yang di turunkan dari javax.swing.JFrame. Script diatas

menggunakan komponen JList dengan variabel list, JPanel dan JTextArea

dengan variabel hasil.

JList menggunakan event ListSelection dengan method

ValueChange[]. Pada baris 88 adalah script untuk menambahkan event

pada JList.

“hasil.setText("Yang Terpilih:\n"+list.getSelectedValue());”.

Ketika kita memilih pada List maka hasilnya akan diset dalam text area,

variabel textarea tersebut adalah hasil. Event tersebut memanggil method

getSelectedValue().

Output:

3. Praktek JComboBox

Page 14: Laporan praktikum modul 3 (pemrograman swing 3)

Kode Program:

Pembahasan:

Page 15: Laporan praktikum modul 3 (pemrograman swing 3)

Script di atas adalah contoh component JComboBox, class tersebut

bernama Devi3 yang di turunkan dari javax.swing.JFrame. Script diatas

menggunakan komponen JComboBox dengan variabel combo, JPanel dan

JTextArea dengan variabel hasil.

JComboBox menggunakan event Listener dengan interface

ActionListener. Pada baris 86 adalah script untuk menambahkan event

pada JComboBox.

“hasil.setText("Pilihan Anda Adalah:\n"+combo.getSelectedItem());”.

Ketika kita memilih pada combobox maka hasilnya akan diset dalam text

area, variabel textarea tersebut adalah hasil.

Output:

Page 16: Laporan praktikum modul 3 (pemrograman swing 3)

III.KESIMPULAN

Dari pembahasan praktikum diatas dapat disimpulkan bahwa komponen

RadioButton digunakan untuk memilih satu item yang direpresentasikan

dalam bentuk radioButton, JList digunakan untuk memilih satu atau lebih item

yang ditampilkan dalam bentuk list, sedangkan JCombobox digunakan untuk

menampilkan pilihan dalam bentuk combobox.

Page 17: Laporan praktikum modul 3 (pemrograman swing 3)

IV. DAFTAR PUSTAKA

Menguasai JAVA 2 & Object Oriented Programming/Benny Hermawan; -

Ed.1.-Yogyakarta:Andi,09-08-07.

http://atmaji-atmaji.blogspot.com/2012/05/event-handling.html

·