我用鼠标监听器,鼠标移动监听器和滚动监听器制作了一个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中尝试getMousePosition()时,我甚至得到一个nullpointer异常。