Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào chúng ta có thể phát hiện một sự kiện khi con chuột di chuyển trên bất kỳ thành phần nào trong Java?

Chúng tôi có thể triển khai MouseListener giao diện khi chuột ổn định trong khi xử lý sự kiện chuột. A MouseEvent được kích hoạt khi chúng ta có thể nhấn, thả hoặc nhấp (nhấn sau đó là nhả) nút chuột (nút trái hoặc phải) tại đối tượng nguồn hoặc định vị con trỏ chuột tại (nhập) và đi (thoát) khỏi đối tượng nguồn. Chúng tôi có thể phát hiện sự kiện chuột khi chuột di chuyển qua bất kỳ thành phần nào, chẳng hạn như nhãn bằng cách sử dụng mouseEntered () và có thể được thoát bằng cách sử dụng mouseExited () phương pháp của MouseAdapter lớp hoặc MouseListener giao diện.

Ví dụ

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();
   }
}

Đầu ra

Làm thế nào chúng ta có thể phát hiện một sự kiện khi con chuột di chuyển trên bất kỳ thành phần nào trong Java?