21xrx.com
2024-12-22 23:36:13 Sunday
登录
文章检索 我的文章 写文章
Java图形界面计算器的实现方法与代码案例
2023-06-16 12:30:16 深夜i     --     --
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图形界面计算器,用户可以通过单击按钮输入数字和操作符,计算器可以完成加、减、乘、除等基本的算术运算。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复