package 第一版;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.*;
public class draw5 extends JFrame{
My_Panel mp = null;
public draw5() {
// TODO Auto-generated constructor stub
mp = new My_Panel();
this.add(mp);
// 註冊監聽
this.addMouseListener(mp); // 監聽鼠標
this.addKeyListener(mp); // 監聽鍵盤
this.addMouseMotionListener(mp); // 監聽鼠標移動
this.setSize(300, 300); // 設置框體大小
this.setLocation(400,150); //設置框體顯示的位置
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 設置框體退出
this.setVisible(true); // 顯示框體
}
public static void main(String[] args) {
// TODO Auto-generated method stub
draw5 d = new draw5();
}
}
class My_Panel extends JPanel implements MouseListener,KeyListener,MouseMotionListener{
public void paint(Graphics g){
super.paint(g);
}
//鼠標點擊
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("鼠標點擊");
System.out.println("鼠標位置 x = "+e.getX()+" y = "+e.getY());
System.out.println("鼠標鍵 = "+e.getButton() + " 點擊次數 "+e.getClickCount()); // 輸出1是左鍵,2是中鍵,3是右鍵
}
//鼠標移動到My_Panel
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
// System.out.println("鼠標移動到My_Panel");
}
//鼠標離開My_Panel
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
// System.out.println("鼠標離開My_Panel");
}
//鼠標按下
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
// System.out.println("鼠標按下");
}
//鼠標鬆開
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
// System.out.println("鼠標鬆開");
}
//鍵按下
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
System.out.println("鍵 = "+e.getKeyChar());
}
//鍵鬆開
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
//鍵輸入
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
//鼠標按鍵在組件上按下並拖動時調用
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
// System.out.println("鼠標按鍵在組件上按下並拖動時調用");
}
//鼠標光標移動到組件上但無按鍵按下時調用
@Override
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
// System.out.println("鼠標光標移動到組件上但無按鍵按下時調用");
}
}
java之事件監聽(三)鼠標監聽
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.