sebutkan 1 layout manager yang sudah -...
TRANSCRIPT
Sendy Ferdian Sujadi
Sebutkan 1 layout manager yang sudah dipelajari, jelaskan!
2
Event Handling Event Listener Latihan
3
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
Button Clicked by User
Event generated by System
Appropriate action taken
5
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
7
8
9
10
1. Menjadikan JFrame utama untuk meng-implements Listener interface
2. Menggunakan Inner-Class 3. Menggunakan Anonymous Inner-Class
11
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
13
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
15
Berdasarkan contoh yang ada, cobalah buat sebuah button yang akan menutup aplikasi.
Untuk menutup aplikasi , Anda dapat menggunakan code berikut :
System.exit(0);
16
JTextField [JTextFieldName].getText();
17
Sendy Ferdian
Welcome, Sendy Ferdian
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
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);
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
21
JRadioButton & JCheckBox isSelected();
22
23
JScrollBar menggunakan AdjustmentListener yang memiliki method adjustmentValueChanged
JSlider menggunakan ChangeListener yang memiliki method stateChanged
24
25
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
27
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
29
That’s all for today!
30