21xrx.com
2025-07-08 03:19:20 Tuesday
登录
文章检索 我的文章 写文章
Java图形界面计算器的实现方法与代码案例
2023-06-16 12:30:16 深夜i     19     0
Java图形界面 计算器 Swing框架

计算器一直是程序员入门练手的一个非常适合的小项目,实现一个Java图形界面的计算器功能,无疑是提高自己的编程能力的一个非常不错的选择。本文将详细介绍Java图形界面计算器的实现方法,附上完整的代码案例,帮助初学者更好地掌握Java编程的基础知识。

实现Java图形界面计算器的方法:

Java图形界面计算器的实现需要借助Swing框架,该框架是Java提供的GUI工具包,提供了一系列的组件和容器,可以用来创建GUI程序。接下来,我们将基于Swing框架来实现Java图形界面计算器。

首先,需要创建一个JFrame窗口,在窗口中添加一个JPanel面板组件,将计算器的所有按钮和显示区域都添加到面板中。然后,需要为每个按钮添加ActionListener监听器,当用户点击按钮时可以触发对应的事件,完成相应的计算操作。最后,需要定义面板中的显示区域,以便显示用户输入的数字和计算结果。

下面是Java图形界面计算器的完整代码:

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Calculator extends JFrame {
  private static final long serialVersionUID = 1L; // 自动生成的序列化ID
  JPanel panel = new JPanel(); // 创建面板
  JTextField display = new JTextField("0"); // 显示区域
  double result = 0; // 计算结果
  String operator = "="; // 当前操作符
  boolean calculating = true; // 是否计算
  public static void main(String[] args) {
    Calculator frame = new Calculator();
    frame.setTitle("Java图形界面计算器");
    frame.setSize(300, 300);
    frame.setLocationRelativeTo(null); // 窗口居中
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
  }
  // 构造函数
  public Calculator() {
    display.setEditable(false); // 显示区域不可编辑
    panel.setLayout(new GridLayout(4, 4, 5, 5)); // 设置面板布局
    // 定义按钮和操作符
    String buttons = "789/456*123-0.=+";
    for (int i = 0; i < buttons.length(); i++) {
      JButton button = new JButton(buttons.substring(i, i + 1));
      button.addActionListener(new CalculatorListener()); // 为每个按钮添加监听器
      panel.add(button);
    }
    add(display, BorderLayout.NORTH); // 将显示区域添加到窗口
    add(panel, BorderLayout.CENTER); // 将面板添加到窗口
  }
  // 事件监听器
  class CalculatorListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {
      String command = e.getActionCommand();
      if (command.charAt(0) >= '0' && command.charAt(0) <= '9'
          || command.equals(".")) { // 输入为数字或小数点
        if (calculating) {
          display.setText(command);
          calculating = false;
        } else {
          display.setText(display.getText() + command);
        }
      } else {
        if (calculating) { // 重复按符号键
          if (command.equals("-")) {
            display.setText(command);
            calculating = false;
          } else
            operator = command;
          
        } else {
          double x = Double.parseDouble(display.getText());
          calculate(x);
          operator = command;
          calculating = true;
        }
      }
    }
    // 计算
    public void calculate(double n) {
      if (operator.equals("+")) {
        result += n;
      } else if (operator.equals("-"))
        result -= n;
       else if (operator.equals("*")) {
        result *= n;
      } else if (operator.equals("/"))
        result /= n;
       else if (operator.equals("="))
        result += n;
      
      display.setText("" + result);
    }
  }
}

通过上面的代码,我们成功实现了一个简单的Java图形界面计算器,用户可以通过单击按钮输入数字和操作符,计算器可以完成加、减、乘、除等基本的算术运算。

  
  

评论区