06.77 java se_adapter classes

6
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.*; 4 5 @SuppressWarnings("serial") 6 public class adapter_class extends JFrame { 7 private String keterangan; 8 private JLabel status_bar; 9 10 public adapter_class() { 11 super ("Hallo semua !!!"); 12 13 status_bar = new JLabel ("ini kondisi default"); 14 add (status_bar, BorderLayout.SOUTH); 15 addMouseListener (new Mouse_class()); 16 } 17 18 private class Mouse_class extends MouseAdapter { 19 public void mouseClicked(MouseEvent event) { Jefri Fahrian | Page 1 of 6

Upload: jefri-fahrian

Post on 09-Jan-2017

106 views

Category:

Software


0 download

TRANSCRIPT

Page 1: 06.77 JAVA SE_adapter classes

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

Page 2: 06.77 JAVA SE_adapter classes

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

Page 3: 06.77 JAVA SE_adapter classes

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

Page 4: 06.77 JAVA SE_adapter classes

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

Page 5: 06.77 JAVA SE_adapter classes

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