Java 让KeyListener听不同的JFrame

Java 让KeyListener听不同的JFrame,java,swing,netbeans,keylistener,Java,Swing,Netbeans,Keylistener,好吧,长话短说,下面是正在发生的事情和我正在努力做的事情 我有一个叫做GameGUI的类,这是一个JFrame 此JFrame填充了平铺(带有图像图标的JLabel) 我使用箭头键在JFrame中移动我的家伙(只更新JLabel图像) 我做了一个设置选项,这是一个新的JFrame,我设置visbile(true),进行更改,然后设置visible(false) 设置Visible(false)后,我的箭头键不再使我的角色在GameGUI上移动 我试过以下方法,哦,没有成功:(所有的猜测都是基于谷

好吧,长话短说,下面是正在发生的事情和我正在努力做的事情

  • 我有一个叫做GameGUI的类,这是一个JFrame
  • 此JFrame填充了平铺(带有图像图标的JLabel)
  • 我使用箭头键在JFrame中移动我的家伙(只更新JLabel图像)
  • 我做了一个设置选项,这是一个新的JFrame,我设置visbile(true),进行更改,然后设置visible(false)
  • 设置Visible(false)后,我的箭头键不再使我的角色在GameGUI上移动
  • 我试过以下方法,哦,没有成功:(所有的猜测都是基于谷歌搜索我的问题)

    在打开(使可见)此设置菜单然后关闭(使不可见)后,我似乎找不到方法让我的KeyListener移回GameGUI。我确实在设置菜单中有单选按钮,这就是为什么我相信它会因为鼠标点击而获得焦点

    如果您能帮助我们重新关注GameGUI,我们将不胜感激

    谢谢

    5.设置Visible(false)后,我的箭头键不再使我的角色在GameGUI上移动

    不要使用KeyListener。Swing设计用于
    键绑定


    请参阅,这将解释您可能遇到的问题,并使用
    键绑定给出解决方案

    我认为
    gg.addKeyListener(null)行是罪魁祸首。这些都不是一次性实现的,很抱歉没有提到这一点。到目前为止,我已经分别尝试了所有这些方法,但没有成功。请参阅
    
    GameGUI gg = new GameGUI();
    gg.setFocusable(true);
    gg.addKeyListener(null);
    gg.requestFocusInWindow();