21xrx.com
2024-09-19 08:56:09 Thursday
登录
文章检索 我的文章 写文章
Java编写的简易计算器:实验报告总结
2023-06-15 14:37:45 深夜i     --     --
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界面等。

  
  

评论区

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