java中addMouseListener()方法的使用

java addMouseListener()方法使用

用於接收組件上“感興趣”的鼠標事件(按下、釋放、單擊、進入或離開)的偵聽器接口。(要跟蹤鼠標移動和鼠標拖動,請使用 MouseMotionListener。)

使用組件的 addMouseListener 方法將從該類所創建的偵聽器對象向該組件註冊。當按下、釋放或單擊(按下並釋放)鼠標時會生成鼠標事件。鼠標光標進入或離開組件時也會生成鼠標事件。發生鼠標事件時,將調用該偵聽器對象中的相應方法,並將MouseEvent 傳遞給該方法。

其包含五個方法

public void mouseClicked(MouseEvent e)//鼠標按鍵在組件上單擊(按下並釋放)時調用。
public void mouseEntered(MouseEvent e)/鼠標進入到組件上時調用。
public void mouseExited(MouseEvent e)//鼠標離開組件時調用。
public void mousePressed(MouseEvent e)//鼠標按鍵在組件上按下時調用。
public void mouseReleased(MouseEvent e)//鼠標按鈕在組件上釋放時調用。
package mi;
import java.awt.*;
import javax.swing.*; 
public class mouseListener extends JFrame implements MouseListener {
 private JLabel j = new JLabel("測試文本");// 用來測試的組件
 private JTextArea jt = new JTextArea();
 private JButton exit = new JButton("退出"); 
 public mouseListener() {
  j.addMouseListener(this); 
  this.add(j, BorderLayout.NORTH);
  this.add(jt, BorderLayout.CENTER);
  this.add(exit, BorderLayout.SOUTH);
  this.setSize(500, 400);
  this.setVisible(true);
  this.setLocationRelativeTo(null);
  exit.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent e) {
    System.exit(0);
   }
  });
 }
 
 public static void main(String[] args) {
  new mouseListener();
 }
 
 @Override
 public void mouseClicked(MouseEvent e) {// 單擊鼠標時執行的操作
  jt.append("鼠標單擊瞭此文本區域\n");
 }
 
 @Override
 public void mouseEntered(MouseEvent e) {// 鼠標進入組件時執行的操作
  jt.append("鼠標進入瞭此文本區域\n");
 }
 
 @Override
 public void mouseExited(MouseEvent e) {// 鼠標離開組件時執行的操作
  jt.append("鼠標離開瞭此文本區域\n");
 }
 
 @Override
 public void mousePressed(MouseEvent e) {// 鼠標在組件上按下時執行的操作
  jt.append("在此文本區域你按下瞭鼠標\n");
 }
 
 @Override
 public void mouseReleased(MouseEvent e) {// 鼠標釋放時執行的操作
  jt.append("鼠標按鍵釋放瞭\n");
 } 
}

另外也可以擴展抽象類 MouseAdapter,此時隻需重寫有用的方法。

另外還有幾個重要的方法

  • getX(),getY():獲取鼠標的坐標位置
  • getModifiers():獲取鼠標的左或右鍵
  • getClickCount():獲取鼠標被點擊的次數
  • setCursor():控制鼠標指針的形狀

java鼠標事件監聽MOUSEADAPTER

當鼠標鍵被按下、釋放或單擊(按下並釋放)時發生動作事件

方法摘要

mouseClicked(MouseEvent e)鼠標按鍵在組件上單擊(按下並釋放)時調用。

 public class MouseAdapterTest extends Frame
 {
      public static void main(String[] args)
      {
          Frame f = new Frame();
          f.setBounds(500, 500, 200, 200);
          f.addMouseListener(new asd());
          f.setVisible(true);
      }
}
class asd extends MouseAdapter
{
    @Override
    public void mouseClicked(MouseEvent e) {
        System.out.println("鼠標點擊瞭");
    }
}

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: