Program Java menangani MouseEvent mouseClicked
Penanganan MouseEvent mouseClicked Di Program Java

Di artikel Penanganan MouseEvent (mouseEntered Dan mouseExited), Anda dapat mempelajari cara menangani event Java yang dipicu oleh mouse. Adapun mouse yang diberi penangan event (handler) adalah ketika mouse memasuki jendela aplikasi (mouseEntered) dan ketika mouse keluar dari jendela aplikasi (mouseExited).

Di artikel Kelas Adapter, Anda juga dapat mempelajari kelas adapter dan fungsinya di penanganan event (aksi) Java. Kedua artikel tersebut mempunyai kaitan erat untuk contoh program kali ini yang masih mengenai penanganan event yang dipicu mouse yaitu aksi klik mouse. Contoh program penanganan event klik mouse ini hanya menggunakan metoda mouseKlicked dari interface MouseListener dan mengabaikan metoda lainnya.

Pogram penangan event metoda mouseClicked adalah menampilkan titik koordinat ketika sebuah mouse diklik di area jendela aplikasi. Karena interface MouseListener mempunyai beberapa metoda dan hanya metoda mouseClicked yang diberi penangan event, program memanfaatkan MouseAdapter untuk menghindari deklarasi ulang metoda lainnya yang tidak digunakan.

Berikut ini adalah kode program untuk penanganan event Java yang dipicu ketika sebuah mouse diklik di area jendela aplikasi (frame).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// Nama file : MouseClicked.java
// Menampilkan koordinat saat mouse diklik

// Mengimpor kelas
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

// Deklarasi kelas
public class MouseClicked extends JFrame {
  
   private int koX, koY;
   private Font font;

   // Konstruktor kelas MouseClicked
   public MouseClicked() {

      setTitle("Kelas MouseClicked");
      addMouseListener(new PenanganMouse());
      setSize(280, 130);
      setVisible(true);
   }

   // Deklarasi inner class PenanganMouse
   class PenanganMouse extends MouseAdapter {

      public void mouseClicked(MouseEvent e) {

         koX = e.getX();
         koY = e.getY();
         repaint();
      }
   }

   // Metoda paint untuk menggambar string
   public void paint(Graphics g) {
   
      super.paint(g);

      font = new Font("Tahoma", Font.BOLD, 14);
      g.setFont(font);
      g.setColor(Color.RED);
      g.drawString("[" + koX + ", " + koY + "]", koX, koY);
   }

   // Metoda main
   public static void main(String[] args) {
      MouseClicked frame = new MouseClicked();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   }
}

Baris nomor 25 - 33 adalah deklarasi inner class PenanganMouse sebagai obyek pendengar. Inner class PenanganMouse tidak mengimplementasikan interface MouseListener, tetapi turunan langsung dari kelas MouseAdapter (kata kunci extends).

Bila Anda mendeklarasikan PenanganMouse sebagai obyek pendengar dan mengimplementasikan interface MouseListener, inner class PenanganMouse harus mendeklarasikan ulang semua metoda interface MouseListener seperti mouseEntered, mouseExited, mouseClicked, mousePressed dan mouseReleased.

Di dalam blok metoda mouseClicked, baris nomor 29 dan 30 adalah pernyataan untuk mendapatkan koordinat ketika mouse diklik di area frame. Baris nomor 31 adalah pernyataan untuk memanggil metoda paint (baris nomor 36 – 44) dan mengeksekusi pernyataan di blok metoda tersebut.

Di dalam metoda paint, pernyataan baris nomor 41 dan 42 mengatur terlebih dahulu variabel acuan g yang mengacu ke obyek kelas Graphics agar proses menggambar string dengan font dan warna yang telah ditentukan. Baris nomor 43 adalah pernyataan untuk menggambar literal string yang merupakan representasi nilai koordinat yang ditentukan oleh variabel koX dan koY.

Penanganan MouseEvent di bahasa pemrograman Java