removeKeyListener后如何使用addKeyListener?

How to use addKeyListener after removeKeyListener?

如何addKeyListenerremoveKeyListener之后的JPanel

事实上,在 2 人游戏中,一方获胜后: 我不想继续游戏了。

所以我删除了 keylistener.

我想重新开始游戏。

这里又需要keyListener

有什么想法吗?

您可以单独编写 KeyListener class:

public class MyKeyListener implements KeyListener {
    // implement needed methods here
}

然后您可以通过以下方式创建您的 KeyListener:

MyKeyListener keyListener = new MyKeyListener();
addKeyListener(keyListener);

您可以通过以下方式删除并再次添加:

removeKeyListener(keyListener);
keyListener = new MyKeyListener();
addKeyListener(keyListener);

谢谢各位朋友。 我使用了一个名为 winType 的变量。它的默认值为 0。如果出现获胜条件,我将其设置为 positive 值。 所以,

instead of removing keylistener

,我保留了 keylisener,但它有效

only when winType = 0

当用户点击新建时,我将 winType 重置为 0。

解决了移除keylistener后不重绘的问题。 [问题已解决]