SWING - MouseAdapter Class



Introduction

The class MouseAdapter is an abstract (adapter) class for receiving mouse events. All methods of this class are empty. This class is convenience class for creating listener objects.

Class Declaration

Following is the declaration for java.awt.event.MouseAdapter class −

public abstract class MouseAdapter
   extends Object
      implements MouseListener, MouseWheelListener, MouseMotionListener

Class Constructors

Sr.No. Constructor & Description
1

MouseAdapter()

Class Methods

Sr.No. Method & Description
1

void mouseClicked(MouseEvent e)

Invoked when the mouse button has been clicked (pressed and released) on a component.

2

void mouseDragged(MouseEvent e)

Invoked when a mouse button is pressed on a component and then dragged.

3

void mouseEntered(MouseEvent e)

Invoked when the mouse enters a component.

4

void mouseExited(MouseEvent e)

Invoked when the mouse exits a component.

5

void mouseMoved(MouseEvent e)

Invoked when the mouse cursor has been moved onto a component but no buttons have been pushed.

6

void mousePressed(MouseEvent e)

Invoked when a mouse button has been pressed on a component.

7

void mouseReleased(MouseEvent e)

Invoked when a mouse button has been released on a component.

8

void mouseWheelMoved(MouseWheelEvent e)

Invoked when the mouse wheel is rotated.

Methods Inherited

This class inherits methods from the following classes −

  • java.lang.Object

MouseAdapter Example

Create the following Java program using any editor of your choice in say D:/ > SWING > com > tutorialspoint > gui >

SwingAdapterDemo.java

package com.tutorialspoint.gui;

import java.awt.*;
import java.awt.event.*;

public class SwingAdapterDemo {
   private JFrame mainFrame;
   private JLabel headerLabel;
   private JLabel statusLabel;
   private JPanel controlPanel;

   public SwingAdapterDemo(){
      prepareGUI();
   }
   public static void main(String[] args){
      AwtAdapterDemo  awtAdapterDemo = new AwtAdapterDemo();  
      swingAdapterDemo.showMouseAdapterDemo();
   }
   private void prepareGUI(){
      mainFrame = new JFrame("Java SWING Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));

      headerLabel = new JLabel("",JLabel.CENTER );
      statusLabel = new JLabel("",JLabel.CENTER);        
      statusLabel.setSize(350,100);
      
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      controlPanel = new JPanel();
      controlPanel.setLayout(new FlowLayout());

      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }
   private void showMouseAdapterDemo(){
      headerLabel.setText("Listener in action: MouseAdapter");      
      JPanel panel = new JPanel();      
      panel.setBackground(Color.magenta);
      panel.setLayout(new FlowLayout());        
      
      panel.addMouseListener(new MouseAdapter(){
         public void mouseClicked(MouseEvent e) {
            statusLabel.setText("Mouse Clicked: ("+e.getX()+", "+e.getY() +")");
         }                
      });
      JLabel msglabel 
         = new JLabel("Welcome to TutorialsPoint SWING Tutorial.",JLabel.CENTER);
      
      msglabel.addMouseListener(new MouseAdapter(){
         public void mouseClicked(MouseEvent e) {
            statusLabel.setText("Mouse Clicked: ("+e.getX()+", "+e.getY() +")");
         }                
      });
      panel.add(msglabel);
      controlPanel.add(panel);
      mainFrame.setVisible(true);  
   }
}

Compile the program using the command prompt. Go to D:/ > SWING and type the following command.

D:\SWING>javac com\tutorialspoint\gui\SwingAdapterDemo.java

If no error occurs, it means the compilation is successful. Run the program using the following command.

D:\SWING>java com.tutorialspoint.gui.SwingAdapterDemo

Verify the following output.

SWING MouseAdapter
swing_event_adapters.htm
Advertisements