gpt4 book ai didi

java - Java 中的中央 MouseMotionListener

转载 作者:行者123 更新时间:2023-11-29 07:34:39 25 4
gpt4 key购买 nike

我在我的 JFrame 中添加了一个 MouseMotionListener 来控制从我的 jframe 中的所有对象到达的所有鼠标运动消息,但是当我将鼠标移到 JLayeredPane 上时,没有产生任何消息。请帮助我在我的 JFrame 中添加一个中央 MouseMotionListener 以控制来自其中所有对象的所有消息。

非常感谢。

最佳答案

下面是递归地向所有组件添加 MouseMotionListener 的代码。请注意,为了处理生成的 MouseEvent,您需要使用 SwingUtilities 将 Point 从特定组件的空间转换到 JFrame 的空间。

public static void installMouseMotionListenerOnAll(Component c, MouseMotionListener mml) {
c.addMouseMotionListener(mml);
if (c instanceof Container) {
for (Component child : ((Container)c).getComponents()) {
installMouseMotionListenerOnAll(child, mml);
}
}
}

关于java - Java 中的中央 MouseMotionListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37485677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com