Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 마우스가 구성 요소 위로 이동할 때 이벤트를 어떻게 감지할 수 있습니까?

<시간/>

MouseListener 를 구현할 수 있습니다. 마우스 이벤트를 처리하는 동안 마우스가 안정적일 때 인터페이스. 마우스 이벤트 소스 개체에서 마우스 버튼(왼쪽 또는 오른쪽 버튼)을 누르거나 떼거나 클릭(누른 다음 떼기)하거나 마우스 포인터를 소스 개체에서 멀리(나가기) 놓을 수 있을 때 시작됩니다. mouseEntered()를 사용하여 레이블과 같은 구성 요소 위로 마우스를 이동할 때 마우스 이벤트를 감지할 수 있습니다. 메소드를 사용하고 mouseExited() 를 사용하여 종료할 수 있습니다. MouseAdapter 메소드 클래스 또는 MouseListener 인터페이스.

예시

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MouseOverTest extends JFrame {
   private JLabel label;
   public MouseOverTest() {
      setTitle("MouseOver Test");
      setLayout(new FlowLayout());
      label = new JLabel("Move the mouse moves over this JLabel");
      label.setOpaque(true);
      add(label);
      label.addMouseListener(new MouseAdapter() {
         public void mouseEntered(MouseEvent evt) {
            Color c = label.getBackground(); // When the mouse moves over a label, the background color changed.
            label.setBackground(label.getForeground());
            label.setForeground(c);
         }
         public void mouseExited(MouseEvent evt) {
            Color c = label.getBackground();
            label.setBackground(label.getForeground());
            label.setForeground(c);
         }
      });
      setSize(400, 275);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public static void main(String[] args) {
      new MouseOverTest();
   }
}

출력

Java에서 마우스가 구성 요소 위로 이동할 때 이벤트를 어떻게 감지할 수 있습니까?