【问题标题】:How to use addKeyListener after removeKeyListener?removeKeyListener 后如何使用 addKeyListener?
【发布时间】:2016-01-15 18:45:25
【问题描述】:

如何在removeKeyListener 之后将addKeyListener 转换为JPanel

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

所以我删除了keylistener

我想重新开始游戏。

这里我又需要keyListener

有什么想法吗?

【问题讨论】:

    标签: java swing paint keylistener


    【解决方案1】:

    您可以在单独的类中编写您的 KeyListener:

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

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

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

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

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

    【讨论】:

      【解决方案2】:

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

      而不是删除 keylistener

      ,我保留了keylisener,但它可以工作

      仅当 winType = 0 时

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-19
        • 1970-01-01
        • 1970-01-01
        • 2011-11-26
        • 2012-01-07
        • 1970-01-01
        相关资源
        最近更新 更多