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。
推薦閱讀:
- Java監聽器ActionListener與MouseListener的執行順序說明
- JAVA GUI基礎與MouseListener用法
- Java事件處理機制和適配器全面解析
- Java 入門圖形用戶界面設計之事件處理下
- 基於Java GUI 事件處理方式