鼠标在JPanel中移动了事件

Sha*_*ald 5 java swing mouseevent

我在让鼠标事件发挥作用方面遇到了一些问题.我在JLayeredPane里面有一个JPanel,它位于JScrollPane中.不可否认,我对使用Swing很新,但基本上,我希望JPanel能够对鼠标移动作出反应,但却无法让它发挥作用.

public class CellHighlighter extends JPanel implements MouseMotionListener{

    public CellHighlighter(){

    }

    public void mouseMoved(MouseEvent evt){
        System.out.println(evt.getPoint().x + ", " + evt.getPoint().y);
    }

    public void mouseDragged(MouseEvent evt){System.out.println("message");}

}
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感谢,提前感谢!

Hec*_*tor 4

您是否正在使用 MouseListener 注册您的 JPanel 对象?就像是:

    public CellHighlighter(){
       this.addMouseMotionListener(this);
    }
Run Code Online (Sandbox Code Playgroud)

或者您可能需要将 MouseListener 添加到 ScrollPane 或 LayeredPane 中?