【发布时间】:2016-01-15 18:45:25
【问题描述】:
如何在removeKeyListener 之后将addKeyListener 转换为JPanel?
事实上,在 2 人游戏中,当一方获胜后: 我不想继续游戏了。
所以我删除了keylistener。
我想重新开始游戏。
这里我又需要keyListener。
有什么想法吗?
【问题讨论】:
标签: java swing paint keylistener
如何在removeKeyListener 之后将addKeyListener 转换为JPanel?
事实上,在 2 人游戏中,当一方获胜后: 我不想继续游戏了。
所以我删除了keylistener。
我想重新开始游戏。
这里我又需要keyListener。
有什么想法吗?
【问题讨论】:
标签: java swing paint keylistener
您可以在单独的类中编写您的 KeyListener:
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。如果出现获胜条件,我将其设置为 正 值。 所以,
而不是删除 keylistener
,我保留了keylisener,但它可以工作
仅当 winType = 0 时
当用户点击新建时,我将 winType 重置为 0。
解决了移除keylistener后不重绘的问题。 [问题解决]
【讨论】: