如何檢測當滑鼠在 Java 中移動到任何元件時的事件?
當滑鼠穩定在處理滑鼠事件時,我們可以實現一個MouseListener介面。當我們可以在源物件上按下、釋放或單擊(按下然後釋放)滑鼠按鈕(左鍵或右鍵),或將滑鼠指標定位於(進入)源物件和從源物件移開(離開)時,MouseEvent就會觸發。透過使用MouseAdapter類的mouseEntered()方法,可以檢測當滑鼠移動到任何元件(例如標籤)上的滑鼠事件,而可以透過使用MouseAdapter類或MouseListener介面的mouseExited()方法退出。
示例
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();
}
}輸出
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP