日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA——鼠标事件(MouseEvent)MouseListener监听器DEMO

發布時間:2024/10/5 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA——鼠标事件(MouseEvent)MouseListener监听器DEMO 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基本概念

MouseEvent:所有組件都能發出鼠標事件,MouseEvent類負責捕獲鼠標事件,可以通過為組件添加實現了MouseListener接口的監聽器類來處理相應的鼠標事件。

MouseListener:處理鼠標事件的類要么實現此接口(及其包含的所有方法),要么擴展抽象類 MouseAdapter(僅重寫所需的方法)。 然后使用組件的 addMouseListener 方法將從該類所創建的偵聽器對象向該組件注冊。當按下、釋放或單擊(按下并釋放)鼠標時會生成鼠標事件。鼠標光標進入或離開組件時也會生成鼠標事件。發生鼠標事件時,將調用該偵聽器對象中的相應方法,并將 MouseEvent 傳遞給該方法。

MouseListener接口共有5個抽象方法,分別在光標移入或移出組件時、鼠標按鍵被按下或釋放時和發生單擊事件時被觸發。所謂單擊事件,就是按鍵被按下并釋放。

public interface MouseListener extends EventListener{public void mouseReleased(MouseEvent e);//鼠標按鍵被釋放是被觸發public void mousePressed(MouseEvent e);//鼠標按鍵被按下時被觸發public void mouseExited(MouseEvent e);//光標移除組件時被觸發public void mouseEntered(MouseEvent e);//光標移入組件時被觸發public void mouseClicked(MouseEvent e);//發生單擊事件時被觸發}

源代碼?

import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GUIDEMO {public static void main(String[] args) {// TODO 自動生成的方法存根EventQueue.invokeLater(() ->{JFrame frame = new MyFrame();frame.setTitle("DrawTest");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});System.out.println("Hello World");}public void print(Object obj) {System.out.println(obj);} }class MyFrame extends JFrame {private static final int DEFAULT_WIDTH = 400;private static final int DEFAULT_HEIGHT = 400;public MyFrame() {setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);setLocation(100,200);setLayout(new FlowLayout());JButton but=new JButton("DEMOButton");but.addActionListener(event-> {print("action");print(event);});but.addMouseListener(new MouseAdapter(){public void mouseEntered(MouseEvent e) {print("enter");}public void mouseExited(MouseEvent e) {print("exit");}public void mouseClicked(MouseEvent e) {print("click");print(e.toString());if(e.getClickCount()==1) {print("floatclick");}else if(e.getClickCount()==2){print("dobleclick");}else {print("otherclick");}if(e.getButton()==1) {print("leftclick");}else if(e.getButton()==2) {print("midclick");}else if(e.getButton()==3) {print("rightclick");}else {print("otherclick");}}});add(but);}public void print(Object obj) {System.out.println(obj);}public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); } }

運行結果

參考文章

https://blog.csdn.net/qq_36761831/article/details/81564119

https://blog.csdn.net/jisuanjiguoba/article/details/79817587

https://www.cnblogs.com/cyg-06/p/5954768.html

總結

以上是生活随笔為你收集整理的JAVA——鼠标事件(MouseEvent)MouseListener监听器DEMO的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。