sebutkan 1 layout manager yang sudah -...
TRANSCRIPT
![Page 1: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/1.jpg)
Sendy Ferdian Sujadi
![Page 2: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/2.jpg)
Sebutkan 1 layout manager yang sudah dipelajari, jelaskan!
2
![Page 3: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/3.jpg)
Event Handling Event Listener Latihan
3
![Page 4: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/4.jpg)
Event merupakan sebuah objek yang di-generate oleh user pada saat sesuatu terjadi terhadap suatu komponen.
Sebagai contoh, event di-generate pada saat user mengklik sebuah tombol, drag posisi mouse, atau memilih item dari combo box
Objek event ini di-kirimkan kepada sebuah method khusus yang kita buat yang disebut sebagai event listener.
Event listener ini akan memeriksa objek event, menentukan jenis event yang terjadi, dan langsung meresponnya.
event source event object event listener (interface) event handler (method)
Java memiliki banyak objek Event, yang merupakan bagian dari package java.awt.event dan javax.swing.event.
4
![Page 5: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/5.jpg)
Button Clicked by User
Event generated by System
Appropriate action taken
5
![Page 6: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/6.jpg)
Untuk menangani event, kita harus meregistrasi suatu listener kepada objek yang menjadi source event tersebut (misal: objek JButton)
Listener yang kita buat merupakan implementasi dari interface XXXListener. XXX ini artinya tergantung tipe event yang ingin dibuat. Interface XXXListener
ini didefinisikan di dalam package java.awt.event, java.beans, dan javax.swing.event.
Untuk meregristrasi objek kepada listener tersebut, kita dapat panggil method: addXXXListener()
Sebaliknya, untuk menghapus listener dari suatu objek, kita dapat memanggil method: removeXXXListener()
Kita dapat meregistrasi beberapa listener kepada sebuah komponen, demikian juga sebaliknya, suatu instance dari listener dapat diregistrasi untuk menerima event dari banyak komponen.
6
![Page 7: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/7.jpg)
7
![Page 8: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/8.jpg)
8
![Page 9: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/9.jpg)
9
![Page 10: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/10.jpg)
10
![Page 11: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/11.jpg)
1. Menjadikan JFrame utama untuk meng-implements Listener interface
2. Menggunakan Inner-Class 3. Menggunakan Anonymous Inner-Class
11
![Page 12: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/12.jpg)
Buat komponen yang akan men-generate event
Buatlah sebuah class yang meng-implement listener interface untuk event yang akan di tangani:
Tuliskanlah kode untuk semua methods yang didefinisikan oleh listener tersebut
Register listener dengan source-nya ke komponen
12
![Page 13: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/13.jpg)
13
![Page 14: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/14.jpg)
Inner class adalah suatu kelas yang bersarang di dalam kelas yang lain.
Inner class juga dapat dimanfaatkan untuk membuat suatu kelas yang meng-implement event listeners.
Dengan cara ini, class utama (yang mendefinisikan JFrame) tidak perlu meng-implement event listener.
14
![Page 15: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/15.jpg)
15
![Page 16: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/16.jpg)
Berdasarkan contoh yang ada, cobalah buat sebuah button yang akan menutup aplikasi.
Untuk menutup aplikasi , Anda dapat menggunakan code berikut :
System.exit(0);
16
![Page 17: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/17.jpg)
JTextField [JTextFieldName].getText();
17
Sendy Ferdian
Welcome, Sendy Ferdian
![Page 18: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/18.jpg)
Pada dasarnya, semua input yang diketik di dalam JTextField adalah teks biasa bertipe String
Untuk itu, kita perlu menggunakan method konversi apabila ingin mendapatkan nilai berupa angka.
Kita dapat menggunakan berbagai “parse methods” kepunyaan wrapper classes untuk mendapatkan nilai angka tipe primitif-nya.
int count = Integer.parseInt(textField1.getText());
18
![Page 19: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/19.jpg)
int count = Integer.parseInt(textField1.getText());
short count = Short.parseShort(textField1.getText());
long count = Long.parseLong(textField1.getText());
byte count = Byte.parseByte(textField1.getText());
float count = Float.parseFloat(textField1.getText());
double count = Double.parseDouble(textField1.getText());
Sebaliknya, untuk konversi angka menjadi String, kita dapat menggunakan method valueOf yang dimiliki oleh class String tersebut.
19
int angka = 5;
String nilai = String.valueOf(angka);
![Page 20: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/20.jpg)
Sebuah toko buku menerima pengiriman dus berisi buku-buku dari penerbit. Setiap pengiriman memiliki sejumlah buku teks dalam jumlah yang sama untuk setiap dus-nya.
Manager toko ingin menggunakan komputer untuk menghitung total jumlah buku yang tiba dari setiap pengiriman.
Caranya adalah dengan memasukkan jumlah dus dan jumlah buku dalam setiap dus
Program akan menghitung dan menampilkan jumlah buku di setiap pengiriman.
20
![Page 21: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/21.jpg)
21
![Page 22: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/22.jpg)
JRadioButton & JCheckBox isSelected();
22
![Page 23: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/23.jpg)
23
![Page 24: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/24.jpg)
JScrollBar menggunakan AdjustmentListener yang memiliki method adjustmentValueChanged
JSlider menggunakan ChangeListener yang memiliki method stateChanged
24
![Page 25: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/25.jpg)
25
![Page 26: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/26.jpg)
Anda dapat membuat sebuah inner class tanpa menentukan namanya. Ini disebut sebagai anonymous inner class.
Setiap kali kita membuat komponen (misalnya JButton), kita langsung buatkan sebuah anonymous inner class yang khusus akan menangani event untuk JButton itu sendiri.
Hal ini berbeda dengan teknik sebelumnya, di mana sebuah class dapat menangani banyak event dari komponen, yang mana untuk membedakan event-source-nya kita gunakan e.getSource()
Dengan demikian, penggunaan anonymous inner class dapat mempermudah pembacaan kode kita, karena class didefinisikan secara langsung di-tempat ia akan diakses (di-referenced)
Namun, kekurangannya adalah adanya kemungkinan penurunan performance karena banyaknya jumlah class yang dibuat. (satu class untuk satu komponen!)
26
![Page 27: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/27.jpg)
27
![Page 28: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/28.jpg)
Buatlah sebuah program sederhana yang menerima input dari sebuah text field
Pada saat user menekan tombol OK maka input tersebut akan disalin ke dalam sebuah text area.
28
![Page 29: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/29.jpg)
29
![Page 30: Sebutkan 1 layout manager yang sudah - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/341/04_Event_Handling_T.pdf · Sebutkan 1 layout manager yang sudah ... Tuliskanlah](https://reader031.vdocuments.mx/reader031/viewer/2022022001/5a7930617f8b9ae93a8ba06d/html5/thumbnails/30.jpg)
That’s all for today!
30