PENGENALAN EVENT, JENIS EVENT
DAN
ACTIONLISTENER
Tugas mata kuliah : Pemrograman Visual
Dosen : Nahot Frastian, S.Kom, M.Kom
Disusun
Oleh:
1. Ahmad
Arfani : 201343500089
2. Nurohman : 201343500091
3. Hafid
Suryansyah :
FAKULTAS TEKNIK,
MATEMATIKA & ILMU PENGETAHUAN
ALAM (FTMIPA)
PROGRAM STUDI TEKNIK
INFORMATIKA
UNIVERSITAS INDRAPASTA
PGRI
JAKARTA
2016
KATA PENGANTAR
Puji
dan syukur kehadirat Tuhan Yang Maha Kuasa atas segala rahmat yang
diberikan-Nya sehingga tugas Makalah yang berjudul “PENGENALAN EVENT, JENIS EVENT
DAN ACTIONLISTENER” ini dapat kami selesaikan. Makalah ini kami buat
sebagai kewajiban untuk memenuhi tugas.
Dalam kesempatan ini, kami menghaturkan terimakasih
yang dalam kepada semua pihak yang telah membantu menyumbangkan ide dan pikiran
mereka demi terwujudnya makalah ini. Akhirnya saran dan kritik pembaca yang
dimaksud untuk mewujudkan kesempurnaan makalah ini penulis sangat hargai.
Kelompok 10
DAFTAR ISI
i.
Kata Pengantar
ii.
Daftar Isi
I.
Pendahuluan
Latar Belakang
Maksud dan Tujuan
Batasan Masalah
II.
Landasan Teori
Pengertian
Sejarah
Kelebihan
Kekurangan
GUI
Komponen GUI pada AWT
Komponen GUI pada Swing
EventListener
III.
Program
Event / Program SoalTujuh
Program ActionListener
IV.
Penutup
Daftar Pustaka
PENDAHULUAN
1.1. Latar Belakang
Perkembangan teknologi yang sangat cepat di zaman sekarang mendorong
banyak orang untuk lebih berkreasi dalam menciptakan hal-hal yang baru,
inovatif dan efisien dalam mengerjakan berbagai hal dalam bidang apapun. Agar
segala sesuatunya bisa cepat, tepat dan mudah. Hal tersebut semata-mata untuk
mempermudah kinerja, efektivitas dan waktu bagi kita sebagai pengguna teknologi
karena dalam semua aspek, teknologi dibutuhkan untuk zaman ini. Pada percobaan
kali ini kami akan mencoba membuat sebuah aplikasi Java tentang
Event dan ActionListener dengan menggunakan Blue J
1.2. Maksud dan Tujuan
1.
Adapun maksud dalam pembuatan
aplikasi ini untuk memenuhi salah satu tugas mata kuliah “Pemrograman Visual” selain itu juga
agar menambah wawasan dan kemampuan kami dalam bidang aplikasi Java.
2.
Tujuan dari pembuatan aplikasi
ini untuk mengimplementasikan aplikasi tersebut dengan menggunakan Blue J , sebagai saran belajar mata kuliah Pemrograman Visual
1.3. Batasan Masalah
Pada pembuatan
laporan ini, kami membatasi masalahnya sebagai berikut :
1. Dapat memahami tentang Event dan proses ActionListener
2. Dapat menyusun script untuk program sederhana dengan menggunakan Event dan ActionListener
1.4.Sistematika Penulisan Laporan Laporan tugas ini dibuat dengan sistem
penulisan sebagai berikut :
1. BAB I PENDAHULUAN, berisi permasalahan dari ini.
2. BAB II LANDASAN TEORI, berisi teori-teori yang akan dipergunakan
dalam membuat aplikasi pada laporan ini.
3. BAB III PROGRAM, berupa hasil dari percobaan dan proses pembuatan
aplikasi yang menggunakan event dan
ActionListener
4. BAB IV PENUTUP
BAB II
LANDASAN TEORI
2.1. Pengertian Java
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai
komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling
saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle
dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat
pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta
dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java
umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada
berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang
bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk
memanfaatkan dependensi implementasi seminimal mungkin. Karena
fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa
platform sistem operasi yang berbeda, java dikenal pula dengan slogannya,
"Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa
pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam
pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis
web.
2.2. Sejarah perkembangan Java
Bahasa pemrograman Java terlahir dari The Green Project, yang
berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek
tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh
Patrick Naughton, Mike Sheridan, dan James Gosling, beserta sembilan pemrogram
lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke
yang dibuat oleh Joe Palrang.
Pertemuan
proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park.
Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program
Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan
teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi
baru ini dinamai "*7" (Star Seven).
Setelah era Star Seven selesai, sebuah anak perusahaan
Tv kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka
memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo
Alto. Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam waktu
singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan
pemakaian Internet sebagai medium yang menjembatani kerja dan ide di antara
mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang
dipakai hanya di kalangan akademisi dan militer.
Mereka
menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat
perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an,
Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi
Hot Java.
Pada
sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2
dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada
surat kabar San Jose Mercury News pada tanggal 23 Mei 1995.
Sayang
terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah
ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt
dan George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk
Netscape.
Nama
Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja
"Bapak Java", James Gosling. Nama Oak ini tidak dipakai untuk versi
release Java karena sebuah perangkat lunak lain sudah terdaftar dengan merek
dagang tersebut, sehingga diambil nama penggantinya menjadi "Java".
Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk)
kesukaan Gosling. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa
pemrograman Java tidak lain berasal dari kata Jawa (bahasa Inggris untuk Jawa
adalah Java).
2.3. Versi awal
Versi
awal Java ditahun 1996 sudah merupakan versi release sehingga dinamakan Java
Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus
dikembangkan pada versi selanjutnya:
a.
java.lang : Peruntukan kelas elemen-elemen dasar.
b.
java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas
c.
java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas
kelas penanggalan.
d.
java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan
komputer lain menggunakan jaringan TCP/IP.
e.
java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
f.
java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah
web.
2.4. Kelebihan
a.
Multiplatform. Kelebihan utama dari Java
ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai
dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini
pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari
bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu
hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan.
b.
OOP (Object Oriented Programming - Pemrogram
Berorientasi Objek)
c.
Perpustakaan Kelas Yang Lengkap, Java
terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang
disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh
para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini
ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat
perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan
aplikasi.
d.
Bergaya C++, memiliki sintaks seperti bahasa
pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java.
Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang
pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah
dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah
dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil
jurusan komputer.
e.
Pengumpulan sampah otomatis, memiliki
fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu
melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++
yang dipakai secara luas).
2.5. Kekurangan
a.
Tulis sekali, jalankan di mana saja - Masih
ada beberapa hal yang tidak kompatibel antara platform satu dengan platform
lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi
pada Mac OS X.
b.
Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode
jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan
bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama
kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET
Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit
disembunyikan dan mudah dibajak/direverse-engineer.
c. Penggunaan memori yang banyak.
Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa
tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik
lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi
pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin
murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan
mesin komputer berumur lebih dari 4 tahun.
2.6. GUI
GUI adalah
singkatan dari Graphical User Interface. GUI merupakan desain aplikasi dengan
tampilan visual sehingga pengguna dapat dengan mudah menggunakan aplikasi. The
Java Foundation Class (JFC),merupakan bagian penting dari Java SDK, yang
termasuk dalam koleksi dari API dimana dapatmempermudah pengembangan aplikasi
JAVA GUI. JFC termasuk diantara 5 bagian utama dari API yaitu
AWT dan Swing. Tiga bagian
yang lainnya dari API adalah Java2D, Accessibility, dan Drag dan Drop.Semua itu
membantu pengembang dalam mendesain dan mengimplementasikan aplikasi visual
yang
lebih baik.AWT dan Swing menyediakan komponen GUI yang
dapat digunakan dalam membuat aplikasi Java dan applet. Anda akan mempelajari applet pada bab
berikutnya. Tidak seperti beberapa komponen AWT yang menggunakan native code, keseluruhan Swing
ditulis menggunakan bahasa pemrograman Java.
Swing menyediakan
implementasi platform-independent dimana aplikasi yang dikembangkan dengan
platform yang berbeda dapat
memiliki tampilan yang sama. Begitu juga dengan AWT menjamin
tampilan look and feel pada
aplikasi yang dijalankan pada dua mesin yang berbeda menjadi terlihat
sama. Swing API dibangun dari
beberapa API yang mengimplementasikan beberapa jenis bagian dari
AWT. Kesimpulannya, komponen
AWT dapat digunakan bersama-sama dengan komponen Swing. Nama dari komponen GUI milik Swing hampir sama persis
dengan komponen GUI milik AWT. Perbedaan jelas terdapat pada penamaan komponen. Pada dasarnya,
nama komponen Swing sama dengan nama komponen AWT tetapi dengan tambahan huruf J pada
prefixnya. Sebagai contoh, satu komponen dalam AWT adalah Button class. Sedangkan pada Swing,
nama komponen tersebut menjadi JButton class.
2.7. Komponen GUI pada AWT
Pembagian komponen GUI pada AWT (di dalam paket
java.awt) dapat dilihat pada gambar di bawah.
Berikut ini adalah daftar dari beberapa kelas penting
pada kontainer yang telah disediakan oleh AWT.
1.
Component
: Abstract Class untuk objek yang dapat ditampilkan pada console dan
berinteraksi dengan user. Bagian utama dari semua kelas AWT.
2.
Container
: Abstract Subclass dari Component Class. Sebuah komponen yang dapat menampung
komponen yang lainnya.
3.
Panel
: Turunan dari Container Class. Sebuah frame atau window tanpa titlebar,
menubar tidak termasuk border. Superclass dari applet class.
4.
Window
: Turunan dari Container class. Top level window, dimana berarti tidak bisa
dimasukkan dalam objek yang lainnya.Tidak memiliki border dan menubar.
5.
Frame
: Turunan dari window class. Window dengan judul, menubar, border dan pengatur
ukura di pojok. Memiliki empat konstruktor , dua diantaranya memiliki penulisan
seperti dibawah ini:
Frame()
Frame(String title)
Untuk
mengatur ukuran window, menggunakan metode setSize.
void setSize(int width, int height)
mengubah
ukuran komponen ini dengan width dan height sebagai parameter.
void setSize(Dimension d)
mengubah
ukuran dengan d.width dan d.height berdasar pada spesifikasi Dimension d.
Default
dari window adalah not visible atau tak tampak hingga Anda mengatur visibility
menjadi
true.
Inilah syntax untuk metode setVisible.
void setVisible(boolean b)
2.8. Komponen GUI pada Swing
Komponen GUI pada
Swing terdapat dalam paket javax.swing. Berikut adalah daftar dari beberapa
komponen Swing:
1.
JComponent
: Kelas induk untuk semua komponen Swing, tidak termasuk top-level Container
2.
JFrame
: Turunan dan korepondensi pada frame class dalam package AWT tetapi keduanya
sedikit
3.
tidak
cocok dalam kaitannya dengan menambahkan komponen pada kontainer. Perlu
mendapatkan content pane yang terbaru sebelum menambah sebuah komponen.
4.
JPanel
: Turunan Jcomponent. Kontainer class sederhana tetapi bukan top-level.
5.
JApplet
: Turunan dan korepondensi ke Applet class dalam package AWT. Juga sedikit
tidak cocok dengan applet class dalam kaitannya dengan menambahkan komponen pada
container
6.
JButton
: Tombol “push”. JButton adalah komponen berbentuk tombol. Komponen ini banyak
digunakan
sebagai eksekusi terhadap tindakan yang diinginkan. Pada aplikasi komputer,
biasanya dibutuhkan tombol untuk mengeksekusi sebuah perintah.
7.
JLabel
: komponen yang digunakan untuk membuat tulisan atau gambar pada frame sebagai
suatu informasi untuk pengguna program.
8.
JTextField
: komponen yang digunakan untuk memasukkan sebaris string yang selanjutnya
dapat digunakan sebagai input bagi proses selanjutnya.
9.
JTextArea
: komponen yang mirip dengan JTextField tetapi dapat menampung lebih dari 1
baris.
10. JCheckBox : komponen yang digunakan ketika pengguna
memerlukan komponen untuk melakukan satu atau banyak pilihan sekaligus .
11. JRadioButton : komponen yang digunakan ketika pengguna
perlu memilih satu diantara beberapa pilihan
12. JComboBox : komponen yang digunakan untuk memilih satu
diantara sekian banyak pilihan yang
berbentuk semacam TextField dan ada panah ke bawah.
13. JFileChooser : Mengijinkan pengguna untuk memilih
sebuah file.
14. JColorChooser : Turunan Jcomponent. Mengijinkan
pengguna untuk memilih warna.
15. JTable : digunakan untuk menampilkan data dalam bentuk
tabel (biasanya dalam database).
16. JScrollPane : komponen yang digunakan untuk
menggerakkan obyek ke atas, ke bawah, atau ke
samping agar
semua obyek terlihat di layar.
17. JMenu : komponen yang digunakan untuk membuat menu.
18. JInternalFrame : frame yang hanya dapat berada dalam
frame lain.
19. JOptionPane : Turunan Jcomponent. Disediakan untuk
mempermudah menampilkan popup kotak dialog.
20. JDialog : Turunan dan korespondensi pada dialog class
dalam package AWT. Biasanya digunakan
untuk
menginformasikan sesuatu kepada pengguna atau prompt pengguna untuk input.
21. Pembagian komponen GUI pada Swing dapat dilihat pada
gambar di bawah.
Pengaturan layout digunakan untuk mengatur posisi dari
komponen visual penyusun program sesuai dengan desain user interface. Beberapa pilihan layout
telah disediakan java, dimana keputusan untuk menggunakan jenis layout tertentu bergantung pada
jenis aplikasi yang ingin dibuat serta tingkat kerapian yang diinginkan.
Berikut beberapa layout manager yang terdapat di dalam
Java:
1.
FlowLayout
: jenis pengaturan layout yang paling sederhana, dimana semua komponen akan
tersusun dari kiri
ke kanan sepanjang frame, dan akan pindah ke bawah bila telah sampai batas
kanan frame.
Default pada java.awt.
2.
BorderLayout
: jenis layout yang bekerja dengan membagi frame menjadi lima bagian yaitu
NORTH,
EAST, SOUTH, WEST
dan CENTER. Komponen visual dapat diletakkan pada bagian-bagian tersebut.
3.
NoneLayout
: jenis layout yang dapat menghasilkan tampilan yang rapi karena kita dapat
mengatur posisi komponen secara detil berdasar koordinatnya.
Konsekuensinya dengan layout ini waktu yang
diperlukan relatif lebih
banyak dibanding layout yang lain karena kita perlu menentukan posisi
koordinat tiap komponen.
1.
GridLayout
: jenis layout yang bekerja berdasar baris dan kolom. Dengan layout ini kita
dapat
2.
memberikan
argumen banyaknya baris dan kolom sesuai dengan kebutuhan.
3.
GridBagLayout
: ukuran grid bisa berubah, lebih dari satu komponen bisa masuk pada satu grid.
4.
CardLayout
: komponen ditimpa seperti kartu, hanya satu komponen yg nampak pada satu
waktu.
5.
BoxLayout
: Komponen disusun kiri-kanan atau atas-bawah.
Layout manager dapat diatur menggunakan metode
setLayout dari Container class. Metode ini dapat ditulis sebagai berikut.
void setLayout(LayoutManager mgr)
Jika Anda memilih untuk tidak menggunakan layout manager,
Anda dapat mengisi null sebagai argumen
untuk metode ini. Tetapi selanjutnya, Anda akan
mengatur posisi elemen secara manual dengan
menggunakan metode setBounds dari Components class.
public void setBounds(int x, int y, int width, int
height)
Metode ini
mengatur posisi berdasarkan pada argumen x dan y, dan ukuran berdasarkan
argument width dan height. Hal ini akan cukup menyulitkan dan membosankan untuk
aplikasi jika Anda memiliki beberapa objek komponen didalam objek kontainer. Anda akan
memanggil metode ini untuk setiap komponen.
Java menggunakan delegation event model untuk
mengendalikan peristiwa (event). Pada model ini terdapat:
a. Event source (sumber peristiwa) : mengacu pada komponen GUI yang
menghasilkan event.
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.
Contoh:
jika pengguna menekan button, maka event sourcenya adalah button.
b.
Event
listener/event handler (pendengar
peristiwa) : objek yang mendengar peristiwa dan melakukan tindakan terhadap peristiwa tersebut.
Contoh: ketika button ditekan, listener akan
mengendalikan dengan handler yang sesuai.
c.
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.
2.9.Event Handler
merupakan method yang menerima event object dan melakukan respond yang
sesuai dengan event object tersebut.
Langkah-langkah membuat aplikasi yang dapat menghandel
event:
1.
Menyediakan
program sebagai event listener. Contoh:
import
java.awt.event.*;
public class
NamaClass implements ActionListener {
2.
Mendaftarkan
komponen pada event listener. Contoh:
someComponent.addActionListener
(instanceOfNamaClass)
3.
Melakukan
tindakan terhadap event dari pengguna. Contoh:
public void
actionPerformed (ActionEvent e){
… //kode yang
mengakomodasi aksi dari pengguna}
4.
Implementasi
program dengan inner class, contoh:
addMouseMotionListener(new
MyMouseMotionListener());
class
MyMouseMotionListener extends MouseAdapter {
public void
mouseDragged(MouseEvent e) {
}
}
5.
Implementasi
program dengan anonymous inner class, contoh:
addMouseMotionListener(new
MouseMotionAdapter(){
public void
mouseDragged(MouseEvent e) {
...
}
6.
});
// tutup dengan titik koma
Kategori
|
Name Interface
|
Method
|
Action
Item
Mouse
Mouse Motion
Key
Focus
Adjustment
Component
Window
Container
Text
|
ActionListener
ItemListener
MouseListener
MouseMotionListener
KeyListener
FocusListener
AdjustmentListener
ComponentListener
WindowListener
ContainerListener
TextListener
|
actionPerformed(ActionEvent)
itemStateChanged(ItemEvent)
mousePressed(MouseEvent)
mouseReleased(MouseEvenr)
mouseEntered(MouseEvent)
mouseExited(MouseEvent)
mouseClicked(MouseEvent)
mouseDragged(MouseEvent)
mouseMoved(MouseEvent)
keyPressed(KeyEvent)
keyReleased(KeyEvent)
keyTyped(KeyEvent)
focusGained(FocusEvent)
focusLost(FocusEvenr)
adjustmentValueChanged(AdjustmentEvent)
componentMoved(ComponentEvent)
componentHidden(ComponentEvent)
componentResized(ComponentEvent)
componentShown(ComponentEvent)
windowClosing(WindowEvent)
windowOpened(WindowEvent)
windowIconified(WindowEvent)
windowDeiconified (WindowEvent)
windowClosed(WindowEvent)
windowActivated(WindowEvent)
windowDeactivated (WindowEvent)
componentAdded(ContainerEvent)
componentRemoved(ContainerEvent)
textValueChanged(TextEvent)
|
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 dimanipulasi
|
ComponentEvent
|
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 Event
|
Mengklik
suatu button
|
Jbutton
|
ActionEvent
|
Mengubah
text
|
JtextComponent
|
TextEvent
|
Menekan
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
|
ContainerEvent
|
Komponen
digerakkan, di resize, disembunyikan (hidden), atau ditampilkan
|
Component
|
ComponentEvent
|
Komponen
seketika menjadi fokus atau kehilangan fokus
|
Component
|
FocusEvent
|
Key
ditekan atau dilepaskan
|
Component
|
KeyEvent
|
Mouse
ditekan, dilepaskan, diklik, atau ketika mouse memasuki atau keluar dari
suatu komponen.
|
Component
|
MouseEvent
|
Mouse
digerakkan atau di-drag
|
Component
|
MouseEvent
|
BAB
III
PROGRAM
1.
Program 1 ( Event )
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.color.*;
public class tugaskelompok10
extends JFrame implements ActionListener
{
Container konten;
/** Deklarasi dan inisialisasi JButton*/
private JLabel lbljudul= new
JLabel("Data Anggota Kelompok 10");
private JButton btnarfani =
new JButton("arfani"); /** untuk
membuat tombol */
private JButton btnnurohman =
new JButton("nurohman");
private JButton btnhafidz =
new JButton("hafidz");
/** Membuat
Konstruktor */
public tugaskelompok10()
{
super("Tugas Kelompok 10"); /** komen nama Frame*/
setVisible(true); /** untuk memunculkan frame */
setSize(300,250); /** untuk menentukan panjang lebar Frame
*/
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/**untuk menutup program */
setLocationRelativeTo(null); /** membuat frame
muncul ditengah layar */
konten = getContentPane();
konten.setLayout(null);
lbljudul.setBounds(60,20,200,30);
lbljudul.setForeground(Color.blue); /** memberi warna pada font*/
konten.add(lbljudul);
btnarfani.setBounds(100,60,100,30); /** untuk menentukan posisi
tombol */
konten.add(btnarfani); /** untuk menentukan parameter
dari tombol */
btnarfani.setForeground(Color.red); /** memberi warna pada
font */
btnarfani.setBackground(Color.green); /** memberi warna pada
button */
btnarfani.addActionListener(this); /** untuk menambahkan event untuk tombol */
btnnurohman.setBounds(100,100,100,30);
konten.add(btnnurohman);
btnnurohman.setForeground(Color.red);
btnnurohman.setBackground(Color.green);
btnnurohman.addActionListener(this);
btnhafidz.setBounds(100,140,100,30);
konten.add(btnhafidz);
btnhafidz.setForeground(Color.red);
btnhafidz.setBackground(Color.green);
btnhafidz.addActionListener(this);
}
/** Akhir Konstruktor / Eksekusi */
public void actionPerformed(ActionEvent
kelompoksepuluh)
{
{
Object obj =
kelompoksepuluh.getSource(); /**
membuat parameter action*/
if (btnarfani == obj) /** perintah menampilkan komen tertentu ketika
button di klik */
JOptionPane.showMessageDialog
(null,"Nama : Ahmad
Arfani \n NPM : 201343500089 \n Kelas : S 6 A \n Mata Kuliah : Pemrograman
Visual \n Dosen : Nahot Frastian, M.Kom ");
if (btnnurohman == obj)
JOptionPane.showMessageDialog
(null,"Nama : Nurohman \n
NPM : 201343500091 \n Kelas : S 6 A \n Mata Kuliah : Pemrograman Visual \n Dosen : Nahot Frastian,
M.Kom ");
if (btnhafidz == obj)
JOptionPane.showMessageDialog
(null,"Nama : Hafidz
Suryansyah \n NPM : 201343500000 \n Kelas : S 6 A \n Mata Kuliah : Pemrograman
Visual \n Dosen : Nahot Frastian, M.Kom ");
}
}
public static void main(String[]
tugaskelompok10)
{
new tugaskelompok10();
}
}
Output :
a.
Tampilan awal program
b.
Layar ketika mouse diarahkan pada salah satu
tombol yang tersedia
c.
Reaksi dari tombol setelah “klik”
2.
Program 2
Source code :
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.color.*;
public class Tugas_Kelompok
{
/**
* instance
variables - replace the example below with your own
*/
private JFrame
frame;
JLabel
lbljudul=new JLabel("PERAWATAN KOMPUTER");
JLabel
lbltgl=new JLabel("Tanggal");
JTextField txtgl=new
JTextField(10);
JLabel
lblid=new JLabel("ID Komputer");
JTextField
txid=new JTextField(7);
JLabel
lbluser=new JLabel("Nama User");
JTextField
txuser=new JTextField(20);
JLabel
lblunit=new JLabel("Unit Kerja");
JTextField
txunit=new JTextField(20);
JLabel
lblptg=new JLabel("Petugas");
JTextField
txptg=new JTextField(20);
JLabel
lblkegiatan=new JLabel("Kegiatan");
JRadioButton
maintenance=new JRadioButton("Maintenance");
JRadioButton
keluhan=new JRadioButton("Keluhan");
ButtonGroup
kelompok=new ButtonGroup();
JLabel
lblsolusi=new JLabel("Solusi");
JCheckBox
install=new JCheckBox("Install Ulang");
JCheckBox
krimping=new JCheckBox("Krimping Ulang");
JCheckBox
update=new JCheckBox("Update Antivirus");
JCheckBox
defragment=new JCheckBox("Defragmnet");
JCheckBox
disc=new JCheckBox("Disk Clean Up");
JCheckBox
reset=new JCheckBox("Reset Password");
JButton
cetak=new JButton("Cetak");
JTextArea
hasil=new JTextArea();
/**
* Constructor
for objects of class Tugas_Kelompok
*/
public
Tugas_Kelompok()
{
/**
*initialise
instance variables
*/
makeFrame();
frame.setVisible(true);
AksiReaksi();
}
/**
* Method untuk
menampilkan dan menutup frame
*/
public void
setVisible(boolean visible)
{
frame.setVisible(visible);
}
/**
* Method untuk
membuat frame
*/
private void
makeFrame()
{
frame = new
JFrame("Tugas Kelompok");
frame.setSize(310,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
komponenVisual();
/**
method pack
pada frame berguna utk menampilkan frame dan menset ukuran sesuai preferredSize
komponen
*/
}
/**
* Method
khusus untuk menambahkan komponen GUI
*/
private void
komponenVisual(){
JPanel
panel = (JPanel)frame.getContentPane();
panel.setLayout(null);
panel.add(lbljudul);
lbljudul.setBounds(75,10,200,20);
lbljudul.setForeground(Color.blue);
panel.add(lbltgl);
lbltgl.setBounds(10,50,80,20);/* Jarak dari kiri, jarak dari atas,
lebar, tinggi */
lbltgl.setForeground(Color.blue);
panel.add(txtgl);
txtgl.setBounds(105,50,175,20);
txtgl.setForeground(Color.blue);
panel.add(lblid);
lblid.setBounds(10,75,80,20);
lblid.setForeground(Color.blue);
panel.add(txid);
txid.setBounds(105,75,175,20);
txid.setForeground(Color.blue);
panel.add(lbluser);
lbluser.setBounds(10,100,80,20);
lbluser.setForeground(Color.blue);
panel.add(txuser);
txuser.setBounds(105,100,175,20);
txuser.setForeground(Color.blue);
panel.add(lblunit);
lblunit.setBounds(10,125,80,20);
lblunit.setForeground(Color.blue);
panel.add(txunit);
txunit.setBounds(105,125,175,20);
txunit.setForeground(Color.blue);
panel.add(lblptg);
lblptg.setBounds(10,150,80,20);
lblptg.setForeground(Color.blue);
panel.add(txptg);
txptg.setBounds(105,150,175,20);
txptg.setForeground(Color.blue);
panel.add(lblkegiatan);
lblkegiatan.setBounds(10,175,80,20);
lblkegiatan.setForeground(Color.blue);
kelompok.add(maintenance);
kelompok.add(keluhan);
panel.add(maintenance);
maintenance.setBounds(105,175,100,20);
maintenance.setForeground(Color.red);
panel.add(keluhan);
keluhan.setBounds(200,175,100,20);
keluhan.setForeground(Color.red);
panel.add(lblsolusi);
lblsolusi.setBounds(10,200,70,20);
lblsolusi.setForeground(Color.blue);
panel.add(install);
install.setBounds(105,200,100,20);
install.setForeground(Color.red);
panel.add(krimping);
krimping.setBounds(105,225,150,20);
krimping.setForeground(Color.red);
panel.add(update);
update.setBounds(105,250,150,20);
update.setForeground(Color.red);
panel.add(defragment);
defragment.setBounds(105,275,150,20);
defragment.setForeground(Color.red);
panel.add(disc);
disc.setBounds(105,300,150,20);
disc.setForeground(Color.red);
panel.add(reset);
reset.setBounds(105,325,150,20);
reset.setForeground(Color.red);
panel.add(cetak);
cetak.setBounds(10,350,270,20);
cetak.setForeground(Color.blue);
}
/**
* Method utk
melakukan tindakan jika ada event dari pengguna
* terhadap
event source
*
ActionListener mendefinisikan sebuah method untuk menangani terjadinya
eventActonEvent. Menimbulkan aksi bila objek ditekan
*/
public void
AksiReaksi()
{
cetak.addActionListener(new ActionListener(){
public
void actionPerformed(ActionEvent e){
System.out.println(" PERAWATAN
KOMPUTER");
System.out.println("
==================");
System.out.println("Tanggal
: " + txtgl.getText()+"\n");
System.out.println("Id
Komputer : " +
txid.getText()+"\n");
System.out.println("Nama User
: " + txuser.getText()+"\n");
System.out.println("Unit Kerja
: " + txunit.getText()+"\n");
System.out.println("Petugas : " +
txptg.getText()+"\n");
if(maintenance.isSelected()==true){
System.out.println("Kegiatan
: " + maintenance.getText()+"\n");
}
else
if(keluhan.isSelected()==true){
System.out.println("Kegiatan
: " + keluhan.getText()+"\n");
}
if(install.isSelected()==true ||
krimping.isSelected()==true ||
update.isSelected()==true ||
defragment.isSelected()==true ||
disc.isSelected()==true ||
reset.isSelected()==true){
{
System.out.println("Solusi : "+"\n");
}
if(install.isSelected()==true){
System.out.println(" -
"+install.getText()+"\n");
}
if(krimping.isSelected()==true){
System.out.println(" -
"+krimping.getText()+"\n");
}
if(update.isSelected()==true){
System.out.println("
-
"+update.getText()+"\n");
}
if(defragment.isSelected()==true){
System.out.println(" -
"+defragment.getText()+"\n");
}
if(disc.isSelected()==true){
System.out.println(" -
"+disc.getText()+"\n");
}
if(reset.isSelected()==true){
System.out.println(" -
"+reset.getText()+"\n");
}
}
}});
}
}
Output :
a.
Form yang muncul dan belum terisi :
b.
Form yang telah diisi :
c.
Hasil setelah tombol cetak di “klik”
V.
PENUTUP
Demikian yang dapat kami paparkan mengenai materi yang
menjadi pokok bahasan dalam makalah ini, tentunya masih banyak kekurangan dan
kelemahannya, kerena terbatasnya pengetahuan dan kurangnya rujukan atau
referensi yang ada hubungannya dengan judul makalah ini.
Kami banyak berharap para pembaca yang budiman
memberikan kritik dan saran yang membangun kepada penulis demi sempurnanya
makalah ini dan dan penulisan makalah di kesempatan-kesempatan berikutnya.
Semoga makalah ini berguna bagi penulis pada khususnya juga para pembaca yang
budiman pada umumnya.
DAFTAR PUSTKA
0 Comments