java实现计算器加法小程序(图形化界面)

Java实现计算器加法小程序(图形化界面)

本文将详细讲解如何使用Java语言实现一个基本的计算器加法小程序,并提供代码示例说明。以下是完整的攻略:

步骤一:创建项目

首先,我们需要创建一个Java项目,并将其命名为“calculator”。

步骤二:添加图形用户界面

我们将会使用Java Swing库来添加图形用户界面(GUI)。

我们可以通过创建一个JFrame对象来实现应用窗口。在这个框架内部,我们将使用GridLayout来创建添加数字按钮和计算结果的面板。

以下是示例代码:

import javax.swing.*;
import java.awt.*;

public class CalculatorGUI extends JFrame {
    private JTextField resultField = new JTextField(); // 计算结果显示区域

    public CalculatorGUI(String title) {
        super(title);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Container container = getContentPane();
        container.setLayout(new BorderLayout());
        // 添加计算结果显示区域
        container.add(resultField, BorderLayout.NORTH);

        // 创建数字按钮面板,设定边框
        JPanel numPanel = new JPanel();
        numPanel.setLayout(new GridLayout(4, 3, 2, 2));
        numPanel.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));
        container.add(numPanel, BorderLayout.CENTER);

        // 添加数字按钮
        for (int i = 1; i <= 9; i++) {
            JButton numButton = new JButton(String.valueOf(i));
            numButton.addActionListener(new CalculatorActionListener(resultField, i));
            numPanel.add(numButton);
        }

        // 添加清除按钮
        JButton clearButton = new JButton("C");
        clearButton.addActionListener(new CalculatorClearActionListener(resultField));
        numPanel.add(clearButton);

        // 添加 0 号按钮
        JButton zeroButton = new JButton("0");
        zeroButton.addActionListener(new CalculatorActionListener(resultField, 0));
        numPanel.add(zeroButton);

        // 添加计算按钮
        JButton calcButton = new JButton("计算");
        calcButton.addActionListener(new CalculatorCalcActionListener(resultField));
        container.add(calcButton, BorderLayout.SOUTH);
    }
}

在这个示例中,我们定义了一个CalculatorGUI类,这个类继承于JFrame,它具有我们的应用程序窗口的所有属性。

JTextField对象是用来显示计算结果的,我们可以使用setEditable(false)来禁用它。

由于我们希望数字按钮以及计算按钮在GUI中以网格形式布局,我们使用JPanel对象和GridLayout布局管理器来完成。

步骤三:添加事件处理程序

下一步是添加事件处理程序,我们需要为所有的按钮声明ActionListener接口。

以下是示例代码:

import javax.swing.*;
import java.awt.event.*;

public class CalculatorActionListener implements ActionListener {
    private JTextField resultField;
    private Integer num;

    public CalculatorActionListener(JTextField resultField, Integer num) {
        this.resultField = resultField;
        this.num = num;
    }

    public void actionPerformed(ActionEvent e) {
        String result = resultField.getText();
        resultField.setText(result + num);
    }
}

public class CalculatorClearActionListener implements ActionListener {
    private JTextField resultField;

    public CalculatorClearActionListener(JTextField resultField) {
        this.resultField = resultField;
    }

    public void actionPerformed(ActionEvent e) {
        resultField.setText("");
    }
}

public class CalculatorCalcActionListener implements ActionListener {
    private JTextField resultField;

    public CalculatorCalcActionListener(JTextField resultField) {
        this.resultField = resultField;
    }

    public void actionPerformed(ActionEvent e) {
        String result = resultField.getText();
        String[] nums = result.split("\\+");
        int sum = 0;
        for (String num : nums) {
            sum += Integer.parseInt(num.trim());
        }
        resultField.setText(String.valueOf(sum));
    }
}

在这个示例中,我们定义了三个不同的ActionListener:

  • CalculatorActionListener:用于添加数字到文本框中;
  • CalculatorClearActionListener:用于清空文本框内容;
  • CalculatorCalcActionListener:用于计算文本框中的所有数字的总和。

步骤四:运行程序

最后,我们需要运行程序来查看我们的计算器加法小程序的是否符合要求。以下是示例代码:

public class Calculator {
    public static void main(String[] args) {
        CalculatorGUI calculatorGUI = new CalculatorGUI("计算器");
        calculatorGUI.pack();
        calculatorGUI.setVisible(true);
    }
}

我们可以在main()方法中创建CalculatorGUI类的一个实例。

示例说明

假设我们输入了“2+2+3”并点击了“计算”按钮,在计算器中将会显示数字 7。

另外,如果我们在输入数字和点击“计算”按钮之前点击“C”按钮,文本框将会被清空。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java实现计算器加法小程序(图形化界面) - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • Java读取txt文件和写入txt文件的简单实例

    以下是“Java读取txt文件和写入txt文件的简单实例”的完整攻略,包含两条示例。 背景介绍 在Java编程中,有时需要读取或写入文本文件,比如读取配置文件、写入日志等。本篇文章将介绍如何使用Java读取txt文件和写入txt文件,并提供两个简单实例。 读取txt文件示例 读取txt文件的过程需要使用Java的IO流,具体步骤如下: 使用Java的文件输入…

    Java 2023年5月20日
    00
  • 如何通过java获取文件名和扩展名

    获取文件名和扩展名是Java中一个常见的操作。下面我来详细讲解Java中如何获取一个文件的文件名和扩展名。 获取文件名 Java中可以使用File类来表示一个文件。获取一个文件的文件名可以使用File类提供的getName()方法,示例如下: File file = new File("D:/test/hello.txt"); Strin…

    Java 2023年5月20日
    00
  • Flink JobGraph生成源码解析

    下面是详细讲解“Flink JobGraph生成源码解析”的完整攻略。 什么是Flink JobGraph Flink JobGraph是Apache Flink的一个重要模块,它描述了一个Flink任务的数据流和操作。在Flink任务启动时,JobGraph会被构建出来,并提交到JobManager进行执行。 JobGraph的生成流程 Flink Job…

    Java 2023年5月20日
    00
  • 用SpringBoot+Vue+uniapp小程序实现在线房屋装修管理系统

    下面是用SpringBoot+Vue+uniapp小程序实现在线房屋装修管理系统的完整攻略。 一、项目介绍 在线房屋装修管理系统是一个前后端分离的Web项目,采用SpringBoot、Vue、uniapp开发,前端使用uniapp编写小程序,后端使用SpringBoot开发REST接口。该系统可以帮助房屋装修公司在线管理装修业务,包括员工管理、客户管理、装修…

    Java 2023年5月23日
    00
  • mysql-connector-java与mysql版本的对应关系说明

    MySQL Connector/J 是MySQL提供的一个JDBC驱动程序,可以用来连接Java程序和MySQL数据库。不同版本的MySQL Connector/J与不同版本的MySQL数据库具有不同的兼容性,下面是针对不同版本的mysql-connector-java和MySQL数据库兼容性的说明。 MySQL Connector/J 8.0与MySQL版…

    Java 2023年5月20日
    00
  • Java之jdbc连接mysql数据库的方法步骤详解

    下面是Java连接MySQL数据库的步骤详解: 步骤1:加载MySQL JDBC驱动 在Java程序中使用JDBC连接MySQL数据库之前,必须先加载MySQL的JDBC驱动。MySQL提供了两种驱动:JDBC驱动和JDBC4.0及以上的驱动。我们使用JDBC驱动来连接。 Class.forName("com.mysql.jdbc.Driver&q…

    Java 2023年5月19日
    00
  • java可变参数当做数组处理的方法示例

    Java的可变参数可以让我们在定义方法时不确定参数的个数,这些参数被当做数组来处理,能够使方法的调用更加灵活方便。下面将为大家介绍Java可变参数当做数组处理的方法示例,具体步骤如下: 第一步:定义一个接收可变参数的方法 首先,我们需要在Java代码中定义一个接收可变参数的方法。以打印数组中所有元素为例,代码如下: public static void pr…

    Java 2023年5月26日
    00
  • Java读取Excel文件内容的简单实例

    下面是详细解释。 Java读取Excel文件内容的简单实例 前置知识 在学习本文之前,需要掌握以下的知识: Java基础语法; 以及Java处理文件的基本方法。 环境准备 在开始本文之前,需要确保你的计算机中已经安装如下的工具: JDK; Eclipse或者其他Java开发环境。 实现步骤 步骤 1:新建项目 打开Eclipse,依次选择“File”-&gt…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部