21xrx.com
2024-12-27 04:57:02 Friday
登录
文章检索 我的文章 写文章
Java实现简易计算机代码与图形用户界面
2023-06-12 00:14:37 深夜i     --     --
Java 计算器 图形用户界面

Java是一种跨平台的面向对象的编程语言,在计算机编程中非常流行。今天,我们将使用Java语言来设计一个简单的计算器(Calculator)程序,并为其添加一个基于图形用户界面(GUI)的界面。

首先,我们需要定义Calculator类,该类将包含用于执行基本计算的方法。在这个例子中,我们将添加add、subtract、multiply和divide方法,用于分别执行加、减、乘和除的基本运算。以下是我们的Calculator类的代码:


public class Calculator {

  public double add(double num1, double num2) {

    return num1 + num2;

  }

  

  public double subtract(double num1, double num2)

    return num1 - num2;

  

  

  public double multiply(double num1, double num2) {

    return num1 * num2;

  }

  

  public double divide(double num1, double num2)

    return num1 / num2;

  

}

接下来,我们需要将GUI界面与我们的计算器程序连接起来。为此,我们将使用Java Swing包中的JFrame、JPanel和JButton类。以下是我们GUI的代码:


import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class CalculatorGUI implements ActionListener {

  private JFrame frame;

  private JPanel panel;

  private JTextField display;

  private JButton[] buttons;

  private String[] buttonLabels = {

    "1", "2", "3", "+",

    "4", "5", "6", "-",

    "7", "8", "9", "*",

    "0", ".", "=", "/"

  };

  private Calculator calculator;

  private double num1, num2;

  private String operator;

  

  public CalculatorGUI() {

    frame = new JFrame("Calculator");

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setSize(300, 400);

    

    display = new JTextField();

    display.setPreferredSize(new Dimension(280, 40));

    display.setFont(new Font("Arial", Font.BOLD, 20));

    display.setEditable(false);

    

    calculator = new Calculator();

    buttons = new JButton[buttonLabels.length];

    panel = new JPanel();

    panel.setLayout(new GridLayout(5, 4, 5, 5));

    

    for (int i=0; i

      buttons[i] = new JButton(buttonLabels[i]);

      buttons[i].setPreferredSize(new Dimension(50, 50));

      buttons[i].setFont(new Font("Arial", Font.BOLD, 20));

      buttons[i].addActionListener(this);

      panel.add(buttons[i]);

    }

    

    frame.add(display, BorderLayout.NORTH);

    frame.add(panel, BorderLayout.CENTER);

    frame.setVisible(true);

  }

  

  public void actionPerformed(ActionEvent e) {

    String label = e.getActionCommand();

    

    if (label.matches("[0-9.]")) {

      String text = display.getText();

      display.setText(text + label);

    }

    else if (label.matches("[+-/*]")) {

      num1 = Double.parseDouble(display.getText());

      operator = label;

      display.setText("");

    }

    else if (label.equals("=")) {

      num2 = Double.parseDouble(display.getText());

      

      if (operator.equals("+")) {

        display.setText(Double.toString(calculator.add(num1, num2)));

      }

      else if (operator.equals("-")) {

        display.setText(Double.toString(calculator.subtract(num1, num2)));

      }

      else if (operator.equals("*")) {

        display.setText(Double.toString(calculator.multiply(num1, num2)));

      }

      else if (operator.equals("/")) {

        display.setText(Double.toString(calculator.divide(num1, num2)));

      }

    }

  }

  

  public static void main(String[] args) {

    new CalculatorGUI();

  }

}

现在我们可以编译并运行这个程序,用鼠标点击界面上的按钮进行计算。在这个简单的程序示例中,我们使用了Java的面向对象编程思想,并利用Java Swing包创建了一个基于图形用户界面的计算器程序。

  
  

评论区

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