Java实现计算器加法小程序(图形化界面)
本文将详细讲解如何使用Java语言实现一个基本的计算器加法小程序,并提供代码示例说明。以下是完整的攻略:
步骤一:创建项目
首先,我们需要创建一个Java项目,并将其命名为“calculator”。
步骤二:添加图形用户界面
我们将会使用Java Swing库来添加图形用户界面(GUI)。
我们可以通过创建一个JFrame对象来实现应用窗口。在这个框架内部,我们将使用GridLayout来创建添加数字按钮和计算结果的面板。
以下是示例代码:
import javax.swing.*;
import java.awt.*;
public class CalculatorGUI extends JFrame {
private JTextField resultField = new JTextField(); // 计算结果显示区域
public CalculatorGUI(String title) {
super(title);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container container = getContentPane();
container.setLayout(new BorderLayout());
// 添加计算结果显示区域
container.add(resultField, BorderLayout.NORTH);
// 创建数字按钮面板,设定边框
JPanel numPanel = new JPanel();
numPanel.setLayout(new GridLayout(4, 3, 2, 2));
numPanel.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));
container.add(numPanel, BorderLayout.CENTER);
// 添加数字按钮
for (int i = 1; i <= 9; i++) {
JButton numButton = new JButton(String.valueOf(i));
numButton.addActionListener(new CalculatorActionListener(resultField, i));
numPanel.add(numButton);
}
// 添加清除按钮
JButton clearButton = new JButton("C");
clearButton.addActionListener(new CalculatorClearActionListener(resultField));
numPanel.add(clearButton);
// 添加 0 号按钮
JButton zeroButton = new JButton("0");
zeroButton.addActionListener(new CalculatorActionListener(resultField, 0));
numPanel.add(zeroButton);
// 添加计算按钮
JButton calcButton = new JButton("计算");
calcButton.addActionListener(new CalculatorCalcActionListener(resultField));
container.add(calcButton, BorderLayout.SOUTH);
}
}
在这个示例中,我们定义了一个CalculatorGUI类,这个类继承于JFrame,它具有我们的应用程序窗口的所有属性。
JTextField对象是用来显示计算结果的,我们可以使用setEditable(false)来禁用它。
由于我们希望数字按钮以及计算按钮在GUI中以网格形式布局,我们使用JPanel对象和GridLayout布局管理器来完成。
步骤三:添加事件处理程序
下一步是添加事件处理程序,我们需要为所有的按钮声明ActionListener接口。
以下是示例代码:
import javax.swing.*;
import java.awt.event.*;
public class CalculatorActionListener implements ActionListener {
private JTextField resultField;
private Integer num;
public CalculatorActionListener(JTextField resultField, Integer num) {
this.resultField = resultField;
this.num = num;
}
public void actionPerformed(ActionEvent e) {
String result = resultField.getText();
resultField.setText(result + num);
}
}
public class CalculatorClearActionListener implements ActionListener {
private JTextField resultField;
public CalculatorClearActionListener(JTextField resultField) {
this.resultField = resultField;
}
public void actionPerformed(ActionEvent e) {
resultField.setText("");
}
}
public class CalculatorCalcActionListener implements ActionListener {
private JTextField resultField;
public CalculatorCalcActionListener(JTextField resultField) {
this.resultField = resultField;
}
public void actionPerformed(ActionEvent e) {
String result = resultField.getText();
String[] nums = result.split("\\+");
int sum = 0;
for (String num : nums) {
sum += Integer.parseInt(num.trim());
}
resultField.setText(String.valueOf(sum));
}
}
在这个示例中,我们定义了三个不同的ActionListener:
- CalculatorActionListener:用于添加数字到文本框中;
- CalculatorClearActionListener:用于清空文本框内容;
- CalculatorCalcActionListener:用于计算文本框中的所有数字的总和。
步骤四:运行程序
最后,我们需要运行程序来查看我们的计算器加法小程序的是否符合要求。以下是示例代码:
public class Calculator {
public static void main(String[] args) {
CalculatorGUI calculatorGUI = new CalculatorGUI("计算器");
calculatorGUI.pack();
calculatorGUI.setVisible(true);
}
}
我们可以在main()方法中创建CalculatorGUI类的一个实例。
示例说明
假设我们输入了“2+2+3”并点击了“计算”按钮,在计算器中将会显示数字 7。
另外,如果我们在输入数字和点击“计算”按钮之前点击“C”按钮,文本框将会被清空。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java实现计算器加法小程序(图形化界面) - Python技术站