JAVA——鼠标事件(MouseEvent)MouseListener监听器DEMO
生活随笔
收集整理的這篇文章主要介紹了
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BugKuCTF 加密 散乱的密文
- 下一篇: JAVA API 中文文档 下载