자바 마우스 이벤트 감청
5505 단어 자바
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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.