我对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键然后你得到低音鼓踢。我只是复制了部分代码,还有更多元素,如小军鼓,钹等。
我构建了CONFIGURE KEYS
选项,它接受字符串并将它们传递给组合框。我已经创建了包含键盘上所有字母的组合框,因此如果默认设置不适合他/她,用户可以更改布局。
我有一个带变量的公共类:
Public static SnareKey1 = "Q";
当您更改组合框时,SnareKey1
会更改为让我们说 - Y
(或其他)。这工作但是----
我的问题是:如何将此SnareKey1
转移到KeyEvent
。我是用正确的方法做到这一点还是需要一个不同的方法?
答案 0 :(得分:0)
我已经解决了这个问题!
你不能在CASE中使用变量(switch语句)。你需要不断表达。
我已用IF / ELSE声明解决了这个问题。
基本上,我将KeyListener添加到主窗体并编写了IF evt.keycode = snareKey.hashcode然后播放声音。