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

如何处理Java计算器的按键操作?,java,netbeans,calculator,keypress,Java,Netbeans,Calculator,Keypress,我已经制作了一个简单的计算器,使用在线教程使用Netbeans,当单击相应的按钮时效果很好,但是我希望通过允许按键操作来改进它 我想让数字0-9工作,+,-,*,/并输入为= 我想我知道怎么做,但似乎想不出来 例如,“我的1”按钮的代码是: private void btnOneActionPerformed(java.awt.event.ActionEvent evt) { String btnOneText

我已经制作了一个简单的计算器,使用在线教程使用Netbeans,当单击相应的按钮时效果很好,但是我希望通过允许按键操作来改进它

我想让数字0-9工作,+,-,*,/并输入为=

我想我知道怎么做,但似乎想不出来

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

private void btnOneActionPerformed(java.awt.event.ActionEvent evt) {                                       
    String btnOneText = txtDisplay.getText() + btnOne.getText();
    txtDisplay.setText(btnOneText);
}  
因此,对于keypress,我创建了一个keypress事件,但我不确定代码是什么。我想是这样的:

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);
} 

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

根据您的使用情况,您可以使用KeyListener或KeyBinding

因为您正在设计一个简单的计算器,所以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;
   //
 }
}

您可以在此处找到键代码:

不要使用键侦听器。相反,您应该使用键绑定和操作。看看这个简化的例子。每当我尝试为它添加导入时,我的包jCalculator上就会出现错误,程序将无法运行。我到底要在哪里添加代码?我意识到这个评论相当含糊不清。@DivineShine:所有进口商品都在同一个地方的顶部。如果您在使用导入时发现问题,请显示有问题的代码和错误消息。@气垫船一旦我添加导入,我会在我的包jCalculator旁边出现一个错误,说明所需的类、接口或枚举。这将为您提供一些开始的位置-