Sebutkan 1 layout manager yang sudah -...

Post on 06-Feb-2018

221 views 1 download

Transcript of Sebutkan 1 layout manager yang sudah -...

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