我JFrame
在 Netbeans 中使用 Form 来制作一个简单的钢琴游戏,我希望能够JButtons
使用计算机键盘按键进行控制。当我想使用ActionPerformed
方法和keypressed
设计选项时,它只让我控制之前用鼠标单击的按钮。其他按钮没有反应。我试图通过keypressed
自己编写来解决它,但在这种情况下,当我按下键盘键时没有任何反应。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String soundName = "C.wav";
AudioInputStream audioInputStream = null;
try {
audioInputStream = AudioSystem.getAudioInputStream(new
File(soundName).getAbsoluteFile());
} catch (UnsupportedAudioFileException | IOException ex) {
Logger.getLogger(GameWindow.class.getName()).log(Level.SEVERE, null, ex);
}
Clip clip = null;
try {
clip = AudioSystem.getClip();
} catch (LineUnavailableException ex) {
Logger.getLogger(GameWindow.class.getName()).log(Level.SEVERE, null, ex);
}
try {
clip.open(audioInputStream);
} catch (LineUnavailableException | IOException ex) {
Logger.getLogger(GameWindow.class.getName()).log(Level.SEVERE, null, ex);
}
clip.start();
}
public void keyPressed(KeyEvent evt){
int keyCode = evt.getKeyCode();
if (keyCode == KeyEvent.VK_Z) {
jButton1.getModel().isPressed();
}
if (keyCode == KeyEvent.VK_S) {
jButton2.getModel().isPressed();
}
}