Java 键盘适配器创建奇怪的盒子

Java 键盘适配器创建奇怪的盒子,java,swing,shift,Java,Swing,Shift,} 这段代码基本上检查用户在我的游戏聊天框中键入内容时何时释放一个键。然后它将其传递给一个方法,该方法基本上将游戏中要渲染的文本设置为该文本。但这并不重要,问题在于: 正如你们所看到的,这些讨厌的盒子只有在我被释放的时候才会出现 更多代码: 按键输入: 游戏类别: 静态聊天: http:slash-slash-pastebin.com/CgQE7SgN 聊天室管理员: http:slash-slash-pastebin.com/yVM5rdUs 其他信息: 当我系统输出输入的文本时,框不是框,而

}

这段代码基本上检查用户在我的游戏聊天框中键入内容时何时释放一个键。然后它将其传递给一个方法,该方法基本上将游戏中要渲染的文本设置为该文本。但这并不重要,问题在于:

正如你们所看到的,这些讨厌的盒子只有在我被释放的时候才会出现

更多代码: 按键输入: 游戏类别: 静态聊天: http:slash-slash-pastebin.com/CgQE7SgN 聊天室管理员: http:slash-slash-pastebin.com/yVM5rdUs

其他信息:
当我系统输出输入的文本时,框不是框,而是问号。

KeyEvent.getKeyChar是一个无参数方法,e.getKey也不会编译。。。这不可能是您的实际代码。请发布一个以获得更快的帮助。对于文本字段,也不要使用键侦听器。使用DocumentListener或DocumentFilter,但我不确定哪一个更合适,因为您的要求不明确。我没有使用文本字段,我基本上是创建一个文本框,带有图形并在其上呈现文本,我添加了更多代码,所以我所做的是可以理解的。对于Swing,通常在基于AWT的较低级别的KeyListener上使用键绑定。有关如何使用它们的详细信息,请参阅。KeyBindings不适用于我,因为我使用的是JFrame,而KeyBindings需要JPanel。这是我键入的密钥:public void keyTypedKeyEvent e{ifGame.getChat.isWorking{System.out.printlnTAS:+e.getKeyChar;char c=e.getKeyChar;String cString=Character.tostring;Game.getChat.passTextcString;}}现在一切都正常了,除了按backspace键,它返回一个空白框,我开始想知道为什么会发生这种情况。
public void keyReleased(KeyEvent e){
    int key = e.getKeyCode();
    for(GameObject tempObject : handler.object){
        if(tempObject.getID() == ObjectID.Player){
            if(key == KeyEvent.VK_D){ tempObject.setVelX(0); }
            if(key == KeyEvent.VK_A){ tempObject.setVelX(0); }
            if(key == KeyEvent.VK_S){ tempObject.setVelY(0); }
            if(key == KeyEvent.VK_W){ tempObject.setVelY(0); }
        }
    }

    if(Game.getChat().isWorking()){
        Game.getChat().passText(e.getKeyChar(e.getKey));
        //.replaceAll("Space", " ").replaceAll("Period", ".").replaceAll("Backspace","").replaceAll("Shift","Shift").replaceAll("Slash","/").replaceAll("comma",",")
    }
}