자바 마우스 이벤트 감청

5505 단어 자바
addMouseListener
public void addMouseListener(MouseListener l)
이 구성 요소 의 마우스 이 벤트 를 수신 하기 위해 지정 한 마우스 탐지 기 를 추가 합 니 다.디텍터 l 이 null 이면 이상 을 던 지지 않 고 동작 을 수행 하지 않 습 니 다.
인터페이스 Mouse Listener 는 구성 요소 의 '관심 있 는' 마우스 이벤트 (누 르 고, 놓 고, 누 르 고, 들 어가 거나, 떠 나 거나) 를 수신 하 는 디텍터 인터페이스 입 니 다.(마우스 이동 과 마우스 드래그 를 추적 하려 면 Mouse Motion Listener 를 사용 하 십시오.)
마우스 이 벤트 를 처리 하기 위 한 클래스 는 이 인터페이스 (그 에 포 함 된 모든 방법) 를 실현 하거나 추상 적 인 클래스 Mouse Adapter (재 작성 에 필요 한 방법 만) 를 확장 합 니 다.
그리고 구성 요소 의 addMouse Listener 방법 을 사용 하면 이 클래스 에서 만 든 디텍터 대상 에서 이 구성 요소 에 등록 합 니 다.마 우 스 를 누 르 거나 놓 거나 누 르 면 마우스 이벤트 가 생 성 됩 니 다.마우스 커서 가 구성 요소 에 들 어가 거나 떠 날 때 도 마우스 이벤트 가 생 성 됩 니 다.마우스 이벤트 가 발생 하면 이 디텍터 대상 에 해당 하 는 방법 을 호출 하고 Mouse Event 를 이 방법 에 전달 합 니 다.                                 
방법 요약 void mouseClicked (Mouse Event e) 마우스 단 추 를 구성 요소 에서 누 르 고 놓 을 때 호출 합 니 다.void mouseEntered (Mouse Event e) 마우스 가 구성 요소 에 들 어 갈 때 호출 합 니 다.void mouseExited (MouseEvent e) 마우스 가 구성 요 소 를 떠 날 때 호출 합 니 다.void mousePressed (Mouse Event e) 마우스 버튼 이 구성 요소 에서 눌 렸 을 때 호출 됩 니 다.void mouseReleased (Mouse Event e) 마우스 단 추 를 구성 요소 에서 풀 때 호출 합 니 다.
응용 예시
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MouseDemo
{
    //              
    private Frame f;
    private Button bt; 

    //  
   MouseDemo()//    
    {
        madeFrame();
    }

    public void madeFrame()
    {
        f = new Frame("My Frame");

        // Frame      。
        f.setBounds(300,100,600,500);//             
        f.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));//    

        bt = new Button("My Button");

        //      Frame 
        f.add(bt);

        //          
        myEvent();

        //    
        f.setVisible(true);
    }

    private void myEvent()
    {
        f.addWindowListener(new WindowAdapter()//    
        {
            public void windowClosing(WindowEvent e)
            {
                System.out.println("      !");
                System.exit(0);
            }
        });

        bt.addActionListener(new ActionListener()//    
        {
            public void actionPerformed(ActionEvent e)
            {
                 System.out.println("     !");
            }
        });
        bt.addMouseListener(new MouseAdapter()//    
        {
            private int count = 1; 
            private int mouseCount = 1;
            public void mouseEntered(MouseEvent e)
            {
                System.out.println("    "+count++);
            }
            public void mouseClicked(MouseEvent e)
            {
                if(e.getClickCount()==2)
                   System.out.println("      ");
                else System.out.println("     "+mouseCount++);
            }
        });
    }

    public static void main(String[] agrs)
    {
        new MouseDemo();
    }
}

전환 하 다https://www.cnblogs.com/KeenLeung/archive/2012/05/27/2520651.html

좋은 웹페이지 즐겨찾기