java中的一个中心MouseMotionListener

时间:2016-05-27 14:12:08

标签: java swing mousemotionlistener

我在JFrame中添加了一个MouseMotionListener来控制从我的jframe中的所有对象到达的所有鼠标动作消息,但当我将鼠标移到JLayeredPane上时,不会产生任何消息。请帮我在我的JFrame中添加一个中心MouseMotionListener来控制其中所有对象的所有消息。

非常感谢。

2 个答案:

答案 0 :(得分:3)

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

 @if (session('user_id'))
    <input type="hidden" name="user_id" value="{{ session('user_id') }}">           
@endif

答案 1 :(得分:2)

您可能希望使用AWTEventListener来侦听所有AWT消息。

以下代码显示了如何监听鼠标和键事件:

long eventMask = AWTEvent.MOUSE_MOTION_EVENT_MASK
    + AWTEvent.MOUSE_EVENT_MASK
    + AWTEvent.KEY_EVENT_MASK;

Toolkit.getDefaultToolkit().addAWTEventListener( new AWTEventListener()
{
    public void eventDispatched(AWTEvent e)
    {
        System.out.println(e.getID());
    }
}, eventMask);

有关详细信息,请参阅Global Event Listeners