当前位置: 首页 > 知识库问答 >
问题:

JavaFX 简单计算器 - 计算按钮操作

靳涵亮
2023-03-14

我正在为学校开发一个简单的JavaFX计算器,我被困在一起,我被困在一起,该事件从两个文本字段,选择的单选按钮以及按下计算按钮时执行该事件的输入放在一起。

        btnCalc.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent e) {

        }
    });
}
public void calculation(ActionEvent e) {
    int num1, num2, answer;

    num1 = Integer.parseInt(tfNum1.getText());
    num2 = Integer.parseInt((tfNum2.getText()));

    if (rbAdd.isSelected()) {
        answer = num1 + num2;
    } else if (rbSubtract.isSelected()) {
        answer = num1 - num2;
    } else if (rbMultiply.isSelected()) {
        answer = num1 * num2;
    } else {
        answer = num1 / num2;
    }

    tfAns.setText(String.valueOf(answer));

节目预览

共有1个答案

端木朝
2023-03-14

btnCalc.setOnAction()函数要求将EventHandler作为参数。这样做的目的是,每当您按下按钮时,它将执行该EventHandler的handle()方法(在您的示例中为空)。你可以用三种不同的方法来解决这个问题:

  • 在EventHandler的handle(ActionEvent e)函数中调用计算(ActionEvent e)函数(如果这样做,可以从calculation()中删除Actionevents参数)
  • 您将代码从计算(ActionEvent e)复制到句柄(ActionEvent e)
  • 这里最好的选择可能是使用lambda。当一个接口只有一个函数时,您不必“生成”接口的对象,但您可以通过以下方式给出函数:
btnCalc.setOnAction(e -> calculation());

在这种情况下,您还可以从计算()的参数中删除ActionEvent e。

因此,总代码将如下所示:

        btnCalc.setOnAction(e -> calculation());

public void calculation() {
    int num1, num2, answer;

    num1 = Integer.parseInt(tfNum1.getText());
    num2 = Integer.parseInt((tfNum2.getText()));

    if (rbAdd.isSelected()) {
        answer = num1 + num2;
    } else if (rbSubtract.isSelected()) {
        answer = num1 - num2;
    } else if (rbMultiply.isSelected()) {
        answer = num1 * num2;
    } else {
        answer = num1 / num2;
    }

    tfAns.setText(String.valueOf(answer));
 类似资料:
  • 问题内容: 首先,这不是一个作业问题。我正在练习有关Java的知识。我想一个很好的方法是编写一个没有帮助的简单程序。不幸的是,我的编译器告诉我我不知道如何解决的错误。在不更改大量逻辑和代码的情况下,有人可以指出我的一些错误在哪里吗?谢谢 问题答案: 这会工作

  • 问题内容: 嘿,我是Java的初学者,而且我只是做了很短的时间,无论如何,对于我的Java基础项目,我需要用gui做一个简单的计算器,我想不是那样的辛苦但是我有点错:P我已经尽了最大的努力(我认为),但是在操作的事件处理和设置要计算的值上陷入了atm,这是我的代码,请您给我一些建议或技巧关于如何做到这一点:D 我的处理程序只是基本的处理程序,它们将数字打印到控制台中,因此您可以不理会它们,我看到了

  • 实现可连续运算的简易计算器。 E.g.,3 4=display 7=display 11=display 15..... [Code4App.com]

  • 本文向大家介绍JS简单计算器实例,包括了JS简单计算器实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS简单计算器的实现方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的javascript程序设计有所帮助。

  • 本文向大家介绍js实现简单计算器,包括了js实现简单计算器的使用技巧和注意事项,需要的朋友参考一下 参考部分资料,编写一个简单的计算器案例,虽然完成了正常需求,但是也有不满之处,待后续实力提升后再来补充,先把不足之处列出:   1:本来打算只要打开页面,计算器的输入框会显示一个默认为0的状态,但是在输入框加入默认显示为0的时候,选择数据输入时,该0会显示输入数字的前面,例如”0123“,由于能力有

  • 本文向大家介绍JavaScript实现简单计算器,包括了JavaScript实现简单计算器的使用技巧和注意事项,需要的朋友参考一下 适合初学者参考的简易计算器,里面没有太多的难以理解的方法,使用的是最基础的JS语法解决式子的运算问题,同时处理了式子中的运算优先级。 实现思路 1、通过绑定点击事件实现待计算式子的输入 2、遍历原式子,读取式子中乘除运算符的位置 3、优先处理乘除取余运算 4、处理加减