Java 如何将字符串变量转换为KeyEvent-通用方法

Java 如何将字符串变量转换为KeyEvent-通用方法,java,Java,我对Java非常陌生,有一个问题困扰了我好几天 我正在开发一个小应用程序,你们按下键盘上的某个键,然后它就会做些什么。一般来说,它会打鼓 下面是一个例子 private void KeyListener(java.awt.event.KeyEvent evt) switch (evt.getKeyCode()) { case KeyEvent.VK_Q: new AePlayWave("kits/acoustic/Bass.wav").start();;

我对Java非常陌生,有一个问题困扰了我好几天

我正在开发一个小应用程序,你们按下键盘上的某个键,然后它就会做些什么。一般来说,它会打鼓

下面是一个例子

private void KeyListener(java.awt.event.KeyEvent evt)         

switch (evt.getKeyCode()) {
    case KeyEvent.VK_Q: new AePlayWave("kits/acoustic/Bass.wav").start();;
         break;

    case KeyEvent.VK_W: new AePlayWave("kits/acoustic/Bass.wav").start();;
         break; 
}
这是清楚的。你按下Q键,然后你得到了低音鼓踢。我只是复制了代码的一部分,还有更多的元素,如圈套、钹等

我构建了configurekeys选项,它接受字符串并将它们传递到组合框。我已经在键盘上创建了包含所有字母的组合框,这样用户可以在默认设置不适用于他/她时更改布局

我有一个带有变量的公共类:

Public static SnareKey1 = "Q";
当您更改组合框时,SnareKey1将更改为lets say-Y或其他任何内容。那是有效的,但是--

我的问题是:如何将此SnareKey1传输到KeyEvent。我是用正确的方法还是需要另一种方法?我已经解决了这个问题

在CASE-switch语句中不能使用变量。你需要不断的表达

我已经用IF/ELSE语句解决了这个问题


基本上,我在主窗体中添加了KeyListener,并编写了IF evt.keycode=snareKey.hashcode,然后播放声音。

您是否将KeyListener添加到正在按下的组合框按钮并实现了KeyPressed事件?首先看一下键绑定API,当给定操作和键在逻辑上分离时,用户需要更改它们的关联。。。