21xrx.com
2025-04-03 01:36:21 Thursday
文章检索 我的文章 写文章
Java编写的简易计算器:实验报告总结
2023-06-15 14:37:45 深夜i     11     0
Java Swing GUI 简易计算器 事件模型

本文将介绍如何使用Java编写一个简易计算器。该计算器可以进行加、减、乘、除等基本运算。我们会使用Java提供的基础库和GUI组件来实现该计算器。具体的开发过程和部分代码如下所示:

首先,我们需要创建一个窗口来放置我们的计算器界面。Java提供了Swing组件来实现GUI界面,其中JFrame是一个可以用来创建窗口的基本组件。我们可以使用如下代码来创建一个窗口:

import javax.swing.JFrame;
public class Calculator {
  public static void main(String[] args) {
    JFrame frame = new JFrame("Simple Calculator");
    frame.setSize(300, 400);
    frame.setVisible(true);
  }
}

上述代码中,我们首先引入了JFrame组件,然后创建了一个窗口对象,并设置了窗口的标题和大小。最后,我们通过调用setVisible方法来显示窗口。

接下来,我们需要在窗口上创建一些按钮和文本框等组件,以便用户操作。为此,我们需要使用JPanel组件来创建一个面板,并将其他组件添加到该面板中。具体的代码如下所示:

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Calculator {
  public static void main(String[] args) {
    JFrame frame = new JFrame("Simple Calculator");
    frame.setSize(300, 400);
    JPanel panel = new JPanel();
    JLabel label1 = new JLabel("Operand 1:");
    JTextField text1 = new JTextField(10);
    JLabel label2 = new JLabel("Operand 2:");
    JTextField text2 = new JTextField(10);
    JLabel label3 = new JLabel("Result:");
    JTextField result = new JTextField(10);
    JButton add = new JButton("+");
    JButton subtract = new JButton("-");
    JButton multiply = new JButton("*");
    JButton divide = new JButton("/");
    // add components to panel
    panel.add(label1);
    panel.add(text1);
    panel.add(label2);
    panel.add(text2);
    panel.add(add);
    panel.add(subtract);
    panel.add(multiply);
    panel.add(divide);
    panel.add(label3);
    panel.add(result);
    // add panel to frame
    frame.add(panel);
    frame.setVisible(true);
  }
}

上述代码中,我们首先引入了各种需要使用的GUI组件,然后创建了一个面板对象,并在面板中添加了各种组件。其中,我们使用了JLabel和JTextField组件来显示文本和接收用户输入的操作数,使用JButton组件来添加加、减、乘、除等按钮,使用JTextField组件来显示计算结果。最后,我们将该面板添加到窗口中,并通过调用setVisible方法来显示窗口。

接下来,我们需要在按钮上添加事件监听器,以便用户单击按钮时触发相应的操作。为此,我们需要使用Java提供的事件模型,并为按钮添加相应的事件监听器。具体的代码如下所示:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Calculator {
  public static void main(String[] args) {
    JFrame frame = new JFrame("Simple Calculator");
    frame.setSize(300, 400);
    JPanel panel = new JPanel();
    JLabel label1 = new JLabel("Operand 1:");
    JTextField text1 = new JTextField(10);
    JLabel label2 = new JLabel("Operand 2:");
    JTextField text2 = new JTextField(10);
    JLabel label3 = new JLabel("Result:");
    JTextField result = new JTextField(10);
    JButton add = new JButton("+");
    add.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        int op1 = Integer.parseInt(text1.getText());
        int op2 = Integer.parseInt(text2.getText());
        int res = op1 + op2;
        result.setText(String.valueOf(res));
      }
    });
    JButton subtract = new JButton("-");
    subtract.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        int op1 = Integer.parseInt(text1.getText());
        int op2 = Integer.parseInt(text2.getText());
        int res = op1 - op2;
        result.setText(String.valueOf(res));
      }
    });
    JButton multiply = new JButton("*");
    multiply.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        int op1 = Integer.parseInt(text1.getText());
        int op2 = Integer.parseInt(text2.getText());
        int res = op1 * op2;
        result.setText(String.valueOf(res));
      }
    });
    JButton divide = new JButton("/");
    divide.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        int op1 = Integer.parseInt(text1.getText());
        int op2 = Integer.parseInt(text2.getText());
        int res = op1 / op2;
        result.setText(String.valueOf(res));
      }
    });
    // add components to panel
    panel.add(label1);
    panel.add(text1);
    panel.add(label2);
    panel.add(text2);
    panel.add(add);
    panel.add(subtract);
    panel.add(multiply);
    panel.add(divide);
    panel.add(label3);
    panel.add(result);
    // add panel to frame
    frame.add(panel);
    frame.setVisible(true);
  }
}

上述代码中,我们首先引入了ActionListener接口和ActionEvent类,然后为每个按钮添加了相应的事件监听器。当用户单击某个按钮时,事件监听器会从文本框中获取操作数,并进行相应的计算,并将结果显示在结果文本框中。

至此,我们已经成功地创建了一个基本的计算器!

本实验使用到了Java提供的Swing组件和事件模型,为初学者提供了一个编写GUI应用程序的实际样例。同时,该计算器还可以进一步扩展,例如可以添加其他的运算符、优化UI界面等。

  
  

评论区

请求出错了