AWT MouseAdapter类

1 什么是Java AWT MouseAdapter

MouseAdapter类是一个用于接收鼠标事件的抽象(适配器)类。这个类的所有方法都是空的。此类是用于创建侦听器对象的便利类。

2 Java AWT MouseAdapter的语法

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

3 Java AWT MouseAdapter的构造方法

构造方法 描述
MouseAdapter() 构造一个新的MouseAdapter。

4 Java AWT MouseAdapter的方法

方法 描述
void mouseClicked(MouseEvent e) 在组件上单击(按下和释放)鼠标按钮时调用。
void mouseDragged(MouseEvent e) 在组件上按下鼠标按钮然后拖动时调用。
void mouseEntered(MouseEvent e) 当鼠标进入组件时调用。
void mouseExited(MouseEvent e) 当鼠标退出组件时调用。
void mouseMoved(MouseEvent e) 当鼠标光标移动到组件上但没有按下任何按钮时调用。
void mousePressed(MouseEvent e) 在组件上按下鼠标按钮时调用。
void mouseReleased(MouseEvent e) 在组件上释放鼠标按钮时调用。
void mouseWheelMoved(MouseWheelEvent e) 当鼠标滚轮旋转时调用。

5 Java AWT MouseAdapter的例子

让我们看一个简单的Java AWT MouseAdapter类示例。

package com.yiidian;

import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class AwtAdapterDemo {
   private Frame mainFrame;
   private Label headerLabel;
   private Label statusLabel;
   private Panel controlPanel;

   public AwtAdapterDemo(){
      prepareGUI();
   }

   public static void main(String[] args){
      AwtAdapterDemo  awtAdapterDemo = new AwtAdapterDemo();  
      awtAdapterDemo.showMouseAdapterDemo();
   }

   private void prepareGUI(){
      mainFrame = new Frame("一点教程网:Java AWT Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new Label();
      headerLabel.setAlignment(Label.CENTER);
      statusLabel = new Label();        
      statusLabel.setAlignment(Label.CENTER);
      statusLabel.setSize(350,100);

      controlPanel = new Panel();
      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");      

      Panel panel = new Panel();      
      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() +")");
         }                
      });

      Label msglabel = new Label();
      msglabel.setAlignment(Label.CENTER);
      msglabel.setText("Welcome to yiidian.com AWT Tutorial.");

      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);  
   }
}

输出结果为:

热门文章

优秀文章