laporan praktikum modul 3 (pemrograman swing 3)
TRANSCRIPT
LAPORAN PRAKTIKUMBAHASA PEMROGRAMAN 2
MODUL III
DISUSUN OLEHNAMA : DEVINIM : 2012081043KELAS : TI2012A
LABORATORIUM KOMPUTERFAKULTAS ILMU KOMPUTER
UNIVERSITAS KUNINGAN2014
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
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
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,
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
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)
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()
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
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:
II. PRAKTIKUM DAN PEMBAHSAN
1. Praktek ContohJRadioButton
Kode Program:
Pembahasan:
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:
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
Kode Program:
Pembahasan:
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:
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.
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
·