Java:将formKeyTyped限制为单个键?

时间:2014-03-25 14:47:17

标签: java

我目前有这段代码:

private void formKeyTyped(java.awt.event.KeyEvent evt) {                              
    URL url;
    try {
        url = this.getClass().getResource("jj_jason.wav");

        Clip clip;

        clip = AudioSystem.getClip();

        // getAudioInputStream() also accepts a File or InputStream
        AudioInputStream ais;

        ais = AudioSystem.getAudioInputStream(url);

        clip.open(ais);
        clip.start();
    }
    catch(IOException | LineUnavailableException | UnsupportedAudioFileException e) {

    }
}   

问题是这会播放" jj_jason.wav"无论按哪个键盘键,都会生成文件。我希望只有按下一个特定的按键才会发生这种情况,让我们说“T'”。我一直在寻找有关如何做到这一点的信息,但未能找到它

1 个答案:

答案 0 :(得分:0)

您可以查看evt#getKeyCode()并将其与VK_个常量之一进行比较。他们描述了所谓的“虚拟密钥代码”。虚拟键代码是已按下的键盘键,而不是由一个或多个击键组合生成的字符(例如“A”,来自shift和“a”)。

或者,您可以查看evt#getKeyChar()的确切字符。