如何处理用Java制作的计算器的按键?

时间:2014-11-03 01:45:02

标签: java netbeans calculator keypress

我使用Netbeans使用在线教程制作了一个简单的计算器,单击相应的按钮时工作正常,但是我希望通过让按键工作来改进它。

我喜欢的是数字0-9可以工作,+, - ,*,/并输入as =。

我想我知道该怎么做,但似乎无法弄明白。

例如,我的1按钮的代码是:

private void btnOneActionPerformed(java.awt.event.ActionEvent evt) {                                       
    String btnOneText = txtDisplay.getText() + btnOne.getText();
    txtDisplay.setText(btnOneText);
}  

因此,对于按键,我创建了一个按键事件,但我不确定代码是什么。我认为它是这样的:

private void jPanel1KeyPressed(java.awt.event.KeyEvent evt) {                                   
    //if statement to check if 1 key has been pressed, then execute rest of code
    String btnOneText = txtDisplay.getText() + btnOne.getText();
    txtDisplay.setText(btnOneText);
} 

然而,我可能完全错了。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

您可以使用KeyListener或KeyBindings,具体取决于您的使用情况。

由于您正在设计一个简单的计算器,因此KeyListener没有任何危害,因为控件不多。

相同的演示代码是。

public void keyPressed(KeyEvent e) {

int keyCode = e.getKeyCode();
      switch( keyCode ) {

   case KeyEvent.VK_0:
       //handle 0 press
       break;
   case KeyEvent.VK_1:
       // handle 1 press
       break;
   case KeyEvent.VK_2:
       // handle 2 press
       break;
   case KeyEvent.VK_3 :
       // handle 3 press
       break;
   //
 }
}

您可以在此处找到密钥代码:http://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyEvent.html