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

标签 java netbeans calculator keypress

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

我想要的是数字 0-9 起作用,+、-、*、/并输入 =。

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

例如,我的 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);
} 

但是我可能完全错了。有什么帮助吗?

最佳答案

您可以根据您的使用情况使用 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

关于java - 如何处理 Java 计算器的按键操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26706646/

相关文章:

java - 如何为通过 gradle 构建变体生成的两个版本的 GPS 应用程序获取不同的图标?

java - 在另一个目录中安装 Java 1.7 OpenJDK

java - 无法使用 View 树观察器获取 View 大小

java - 移动/复制捕获的图像phonegap android中的问题

java - NetBeans 用来从数据库生成实体类的工具是什么?

ios - Swift 中小数到分数的转换

java - netbeans : Unrecoverable error while loading a tagger model 中的 StanfordCoreNLP 错误

java - Lombok 注释在带有 maven 的 netbeans 中不起作用

JavaScript 问题

java - 我怎样才能解决一个简单计算器的字符串版本的计算?