java 事件監聽 - 鼠標java
//事件監聽 //鼠標事件監聽 //鼠標事件監聽有兩個實現接口 //一、MouseListener 普通的鼠標操做 //二、MouseMotionListener 鼠標的拖拽、移動 import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Index extends JFrame{ //設置面板 Wdmb wdmb = new Wdmb(); public static void main(String[] args) throws Exception{ //實例化當前類 Index index = new Index(); } //自動執行 public Index(){ this.add(wdmb); //添加鼠標監聽事件 this.addMouseListener(wdmb); //添加鼠標拖拽事件 this.addMouseMotionListener(wdmb); this.setSize(500,500); this.setLocation(300,200); this.setTitle("繪圖"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } } //面板方法 //MouseListener 鼠標監聽 //MouseMotionListener 鼠標拖拽監聽 class Wdmb extends JPanel implements MouseListener,MouseMotionListener{ //方法覆蓋 //JPanel自帶方法,下面格式是固定的 //paint 會在三種狀況下自動被調用 //一、啓動程序 二、窗口大小發生變化時 三、運行repaint函數時 public void paint(Graphics g){ //覆蓋父類的方法 super.paint(g); } /** * 鼠標事件 */ //鼠標單擊 public void mouseClicked(MouseEvent e){ System.out.println("鼠標點擊的位置是:"); System.out.println("X座標:"+e.getX()); System.out.println("X座標:"+e.getY()); } //鼠標按下 public void mousePressed(MouseEvent e){ //System.out.println("鼠標被按下"); } //鼠標鬆開 public void mouseReleased(MouseEvent e){ //System.out.println("鼠標被鬆開"); } //鼠標移動到界面中 public void mouseEntered(MouseEvent e){ //System.out.println("鼠標移動到界面中"); } //鼠標從界面離開 public void mouseExited(MouseEvent e){ //System.out.println("鼠標從界面離開"); } /** * 鼠標拖拽事件 * */ //鼠標拖拽 public void mouseDragged(MouseEvent e){ System.out.println("鼠標點擊的位置是:"); System.out.println("X座標:"+e.getX()); System.out.println("X座標:"+e.getY()); } //鼠標移動 public void mouseMoved(MouseEvent e){ System.out.println("鼠標點擊的位置是:"); System.out.println("X座標:"+e.getX()); System.out.println("X座標:"+e.getY()); } }