编写应用程序,实现一个标题为“计算”的窗口,窗口的布局为FlowLayout布局。在窗口中添加两个文本区,当用户在一个文本区中输入若干个数时,另一个文本区对输入的数进行求和运算并求出平均值,也就是说随着用户输入的变化,另一个文本区不断地更新求和及平均值
时间: 2024-05-05 14:20:45 浏览: 92
实现计算器界面的设计
以下是一个使用Java Swing编写的实现上述功能的示例程序:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculator extends JFrame implements ActionListener {
private JTextField inputField, resultField;
private JLabel sumLabel, avgLabel;
private double sum, avg;
private int count;
public Calculator() {
super("计算");
setLayout(new FlowLayout());
inputField = new JTextField(10);
inputField.addActionListener(this);
add(inputField);
resultField = new JTextField(10);
resultField.setEditable(false);
add(resultField);
sumLabel = new JLabel("和:0.00");
add(sumLabel);
avgLabel = new JLabel("平均值:0.00");
add(avgLabel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 150);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
try {
double num = Double.parseDouble(inputField.getText());
sum += num;
count++;
avg = sum / count;
sumLabel.setText("和:" + String.format("%.2f", sum));
avgLabel.setText("平均值:" + String.format("%.2f", avg));
resultField.setText("");
inputField.setText("");
} catch (NumberFormatException ex) {
resultField.setText("请输入数字!");
}
}
public static void main(String[] args) {
new Calculator();
}
}
```
程序中定义了一个Calculator类,继承自JFrame类,用于创建窗口。在构造方法中,首先设置了窗口的标题和布局方式,然后创建了两个文本框、两个标签,并将它们添加到窗口中。其中,第一个文本框用于输入数字,第二个文本框用于显示结果,两个标签用于显示求和及平均值。
在程序中实现了ActionListener接口,重写了actionPerformed()方法,用于处理用户输入的事件。在方法中,首先尝试将用户输入的内容转换为数字,如果转换成功,则更新求和、平均值以及显示的标签和文本框;否则,在第二个文本框中显示错误信息。
最后,定义了main()方法,用于创建Calculator类的实例,启动程序。
阅读全文