KeyEvent 缺少字符

Missing Character For KeyEvent

当对 KeyListener 使用 KeyTyped 方法时,有时我会得到“缺失字符”。我会展示我用来获取它们的代码,然后提出我的问题。

public class KeyInput implements KeyListener
{
     public void keyTyped(KeyEvent e)
     {
         System.out.println(e.getKeyChar());
     }
}

我遗漏了一些必需的方法,因为它们与我的问题无关。如果我按下一个字母,它会将字母打印到控制台。但是,如果我使用组合键,即。 control + g,打印到console的字符只是一个带问号的方块。

有没有办法检测字符是否为“缺失字符”?

也许你可以使用Fontclass的canDisplay(...)方法。