java - 你如何检测鼠标光标是否在 java 中的 JFrame 内?

标签 java swing jframe

你会如何编写一个方法来检测鼠标光标是否在 java 中的 JFrame 内?如果方法在内部,则该方法应返回 true,否则返回 false。

谢谢安德鲁

最佳答案

假设 mouseEnteredmouseExited 事件是不够的(我就是这种情况,因为我想避免额外调用 mouseExited当鼠标光标进入面板内按钮的边界时),我想出了这个简短的检查来添加到我的 mouseEnteredmouseExited 事件处理程序的开头:

public static boolean isMouseWithinComponent(Component c)
{
    Point mousePos = MouseInfo.getPointerInfo().getLocation();
    Rectangle bounds = c.getBounds();
    bounds.setLocation(c.getLocationOnScreen());
    return bounds.contains(mousePos);
}

关于java - 你如何检测鼠标光标是否在 java 中的 JFrame 内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1936896/

相关文章:

java - Liferay 6.2 - tomcat 包关闭问题

java - 如何修复现有绘图上的油漆

java - JTable 中列内的 Jcheckbox

java - JFrame 中的动画序列

Java - 如何防止 WindowClosing 实际关闭窗口

java - 如何在 Java 中执行 MySQL UNHEX() 函数

java - Apache commons-exec 无法在命令行上运行 mysql 脚本文件

java - Android:使录制的pcm原始数据可播放

java - 使用 netbeans 时向 JTable 添加数据

java - 向一个 JFrame 添加多种类型的背景