06.77 java se_adapter classes
TRANSCRIPT
06.77 Adapter Classes
Jefri Fahrian (06)
Menerapkan semua method dari interface yang semuanya akan
membutuhkan banyak pekerjaan. Di satu sisi, Anda terkadang lebih sering tertarik
menerapkan hanya beberapa method dari interface saja. Untungnya, Java
menyediakan untuk kita class- class adapter yang menerapkan semua method dari
masing-masing listener interface dengan lebih dari satu method. Implementasi
dari method-method semuanya adalah kosong. (Hartati, 2007)
Berikut contoh implementasi dari adapter class untuk menangani mouse listener.
//kelas adapter
1 import java.awt.*;2 import java.awt.event.*;3 import javax.swing.*;45 @SuppressWarnings("serial")6 public class adapter_class extends JFrame {7 private String keterangan;8 private JLabel status_bar;910 public adapter_class() {11 super ("Hallo semua !!!");1213 status_bar = new JLabel ("ini kondisi default"); 14 add (status_bar, BorderLayout.SOUTH); 15 addMouseListener (new Mouse_class()); 16 }1718 private class Mouse_class extends MouseAdapter {19 public void mouseClicked(MouseEvent event) { 20 keterangan = String.format("Anda melakukan %d ", 21 event.getClickCount()); 22 if (event.isMetaDown()) 23 keterangan += "kali klik kanan";24 else if (event.isAltDown())25 keterangan += "kali klik tombol tengah 26 mouse";27 else 28 keterangan += "kali klik kiri"; 29 status_bar.setText(keterangan);30 }31 }32 }
Jefri Fahrian | Page 1 of 5
Penjelasan program :
Line 1 : import java.awt.*;
Untuk mengimpor library dari java.awt
Line 2 : import java.awt.event.*;
Untuk mengimpor library dari java.awt.event
Line 3 : import javax.swing.*
Untuk mengimpor library dari javax.swing
Line 6 : public class adapter_class extends JFrame
Membuat kelas bernama adapater_class yang merupakan subclass dari JFrame
Line 11 : super ("Hallo semua !!!");
Membuat judul frame
Line 13 : status_bar = new JLabel ("ini kondisi default");
Membuat status bar sebelum ada klik/default
Line 14 : add (status_bar, BorderLayout.SOUTH);
Meletakkan status bar di bagian pojok bawah frame
Line 18 : private class Mouse_class extends MouseAdapter
Membuat kelas bernama Mouse_class yang merupakan subclass dari Mouse
Adapter
Line 20-21 : keterangan = String.format("Anda melakukan %d ", event.getClickCount());
Menghitung jumlah klik pada mouse
Line 22 : event.isMetaDown()
Reaksi jika user mengklik kanan pada mouse
Line 24 : event.isAltDown()
Reaksi jika user mengklik tombol tengah pada mouse
// kelas main1 import javax.swing.JFrame;2 public class Main {3 public static void main (String [] args) {4 adapter_class gui = new adapter_class();5 gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);6 gui.setSize(300, 200);7 gui.setVisible(true);8 }910 }
Jefri Fahrian | Page 2 of 5
Penjelasan program :
Line 1 : import javax.swing.JFrame;
Untuk mengimport library dari JFrame
Line 4 : adapter_class gui = new adapter_class();
Membuat objek bernama gui
Line 5 : gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Untuk memanggil method yang menangani operasi penutupan program
Line 6 : frame.setSize(300, 200);
Untuk memanggil method yang menangani ukuran panjang dan lebar pada frame
Line 7 : go.setVisible(true);
merupakan fungsi untuk mengatur output agar dapat ditampilkan
Keluaran program :
Gambar 1 Kondisi default sebelum user melakukan klik (Sumber : Dokumentasi Jefri)
Gambar 2 Reaksi setelah user melakukan klik kiri (Sumber : Dokumentasi Jefri)
Jefri Fahrian | Page 3 of 5
Gambar 3 Reaksi setelah user melakukan klik kanan (Sumber : Dokumentasi Jefri)
Gambar 4 Reaksi setelah user melakukan klik tombol tengah mouse (Sumber : Dokumentasi Jefri)
Jefri Fahrian | Page 4 of 5
Daftar Pustaka
Bloch, J. (2001). Effective Java: Programming Language Guide. Massachusetts: Addison Wesley.
Bracha, G. (2004). Generics in the Java Programming Language.
Hariyanto, B. (2003). Esensi - Esensi bahasa pemrograman Java. Bandung: Penerbit Informatika.
Harold, E. R. (1999). Java I/O. O'Reilly.
Hartati, S. (2007). Pemrograman GUI Swing Java dengan Netbeans 5. Yogyakarta: Penerbit Andi.
McLaughlin, B. (2002). Building Java™ Enterprise Applications Volume I: Architecture. O'Reilly.
Jefri Fahrian | Page 5 of 5