21xrx.com
2024-11-09 05:55:46 Saturday
登录
文章检索 我的文章 写文章
作为一名Java开发者
2023-06-10 08:29:49 深夜i     --     --

作为一名Java开发者,我一直被Java的GUI界面设计所吸引。今天我想分享一下如何用Java编写一个简单的计算器。

首先,我们需要创建一个Java项目,并在项目中创建一个Calculator类。然后,我们需要为我们的计算器创建一个GUI界面。在这个例子中,我们将使用Java的Swing库来构建界面。

下面是一个简单的Swing组件示例:


import javax.swing.*;

public class Calculator {

  private JFrame frame;

  private JPanel panel;

  private JLabel label;

  private JTextField textField;

  private JButton button1, button2, button3, button4, button5, button6, button7, button8, button9, button0,

      addButton, subtractButton, multiplyButton, divideButton, equalsButton;

  public Calculator() {

    frame = new JFrame("Calculator");

    panel = new JPanel();

    label = new JLabel("0");

    textField = new JTextField();

    button1 = new JButton("1");

    button2 = new JButton("2");

    button3 = new JButton("3");

    button4 = new JButton("4");

    button5 = new JButton("5");

    button6 = new JButton("6");

    button7 = new JButton("7");

    button8 = new JButton("8");

    button9 = new JButton("9");

    button0 = new JButton("0");

    addButton = new JButton("+");

    subtractButton = new JButton("-");

    multiplyButton = new JButton("*");

    divideButton = new JButton("/");

    equalsButton = new JButton("=");

    panel.add(label);

    panel.add(textField);

    panel.add(button1);

    panel.add(button2);

    panel.add(button3);

    panel.add(addButton);

    panel.add(button4);

    panel.add(button5);

    panel.add(button6);

    panel.add(subtractButton);

    panel.add(button7);

    panel.add(button8);

    panel.add(button9);

    panel.add(multiplyButton);

    panel.add(button0);

    panel.add(equalsButton);

    panel.add(divideButton);

    frame.add(panel);

    frame.pack();

    frame.setVisible(true);

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  }

  public static void main(String[] args) {

    new Calculator();

  }

}

这个组件展示了一个标签、一个文本框以及14个按钮,其中包括数字、加、减、乘、除和等于按钮。它们已经按照布局添加到一个面板上。

现在,我们需要编写代码来实现计算器的基本功能。为了简单起见,在这个例子中,我们只支持两个数字之间的加、减、乘、除运算。

下面是一个实现加、减、乘、除计算的示例方法:


public static double calculate(String operator, double value1, double value2) {

  double result = 0.0;

  switch (operator) {

    case "+":

      result = value1 + value2;

      break;

    case "-":

      result = value1 - value2;

      break;

    case "*":

      result = value1 * value2;

      break;

    case "/":

      if (value2 != 0)

        result = value1 / value2;

       else {

        throw new IllegalArgumentException("Cannot divide by zero!");

      }

      break;

    default:

      throw new IllegalArgumentException("Invalid operator: " + operator);

  }

  return result;

}

这个方法接受操作符、两个值作为参数,并返回计算结果。

最后,我们需要将我们的GUI界面元素与计算器方法连接起来。例如,当用户按下“+”按钮时,我们需要将当前文本框中的值作为第一个参数,将“+”作为第二个参数,并将结果显示在文本框中。

下面是一个示例的加法方法:


private void performAddition() {

  double value1 = Double.parseDouble(textField.getText());

  double value2 = currentValue;

  double result = calculate("+", value1, value2);

  label.setText(Double.toString(result));

  currentValue = result;

  textField.setText("");

}

当用户按下等于按钮时,我们还可以实现将当前的值与文本框中的值进行计算的方法。下面是一个示例的等于方法:


private void performEquals() {

  double value1 = Double.parseDouble(textField.getText());

  double value2 = currentValue;

  double result = calculate(currentOperator, value2, value1);

  label.setText(Double.toString(result));

  currentValue = result;

  textField.setText("");

}

以上就是关于Java界面设计计算器的基本内容,通过这个简单的例子,我们可以更好地理解Java中的GUI界面设计以及如何将代码逻辑与用户界面元素进行连接。

  
  

评论区

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