Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách phát hiện sự kiện khi chuột di chuyển qua thành phần trong Java

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

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(); // Khi chuột di chuyển qua label, màu nền thay đổi.
                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();
    }
}

Kết quả

Cách phát hiện sự kiện khi chuột di chuyển qua thành phần trong Java