我制作了一个带有鼠标侦听器、鼠标运动侦听器和滚动侦听器的 JPanel。我有一个 JFrame 在 JPanel 之间切换,如下所示:
//tile is a JPanel
//"this" is a JFrame
tile.removeAll();
tile=tree.getCurrentNode().getContent().panel;
this.add(tile);
this.revalidate();
tile.requestFocus();
现在,当我将旧的 JPanel 换成带有鼠标侦听器的 JPanel 时,一些奇怪的事情开始发生。鼠标侦听器和滚动侦听器仍然有效,但鼠标运动侦听器不再被调用。当我从 JPanel 中尝试 getMousePosition() 时,我什至得到了一个空指针异常。