標籤:demo dem new seo tor import default efault more
package cn.Douzi.Event;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Demo_moreListener extends JFrame { Mypanel mp = null; public Demo_moreListener() { // TODO Auto-generated constructor stub mp = new Mypanel(); this.add(mp); //註冊監聽 this.addMouseListener(mp); this.addKeyListener(mp); this.addMouseMotionListener(mp); this.addWindowListener(mp); this.setSize(400, 300); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { Demo_moreListener test = new Demo_moreListener(); test.setVisible(true); }}//1.讓Mypanel知道滑鼠按下的訊息,並且知道點擊的位置(x,y)//2.讓Mypanel知道哪個鍵按下//3.讓MyPanel知道滑鼠移動,拖拽//4.讓MyPanel知道視窗的變化:變化,最小化,最大化class Mypanel extends JPanel implements WindowListener, MouseListener, KeyListener, MouseMotionListener { @Override public void windowOpened(WindowEvent e) { // TODO Auto-generated method stub } //視窗正在關閉 @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub System.out.println("正在關閉........"); } //視窗關閉 @Override public void windowClosed(WindowEvent e) { // TODO Auto-generated method stub } @Override public void windowIconified(WindowEvent e) { // TODO Auto-generated method stub } //視窗最小化 @Override public void windowDeiconified(WindowEvent e) { // TODO Auto-generated method stub } //視窗啟用 @Override public void windowActivated(WindowEvent e) { // TODO Auto-generated method stub System.out.println("視窗啟用"); } @Override public void windowDeactivated(WindowEvent e) { // TODO Auto-generated method stub System.out.println("視窗最小化"); } //滑鼠移動 @Override public void mouseDragged(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseMoved(MouseEvent e) { // TODO Auto-generated method stub System.out.println("滑鼠移動"); } //鍵事件 //鍵輸入q w F1 @Override public void keyTyped(KeyEvent e) { // TODO Auto-generated method stub } //鍵按下,未鬆開 @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 mouseClicked(MouseEvent e) { // TODO Auto-generated method stub System.out.println("滑鼠點擊了 x = " + e.getX() + "y = " + e.getY()); } //滑鼠按下,但是還沒有鬆開事件 @Override public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub } //滑鼠按下,然後 鬆開 的事件 @Override public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub } //滑鼠移動到Mypanel @Override public void mouseEntered(MouseEvent e) { // TODO Auto-generated method stub System.out.println("滑鼠來"); } //滑鼠離開Mypanel @Override public void mouseExited(MouseEvent e) { // TODO Auto-generated method stub System.out.println("滑鼠走"); } @Override public void paint(Graphics g) { // TODO Auto-generated method stub super.paint(g); } }
Java事件基礎