1.编写应用程序,实现一个标题为“计算”的窗口,窗口的布局为FlowLayout 布局。在窗口中添加两个文本区,当用户在一个文本区中输入若干个数时,另一个文本区对输入的数进行求和运算并求出平均值,也就是说随着用户输入的变化,另一个文本区不断地更新求和及平均值
时间: 2024-12-20 19:19:52 浏览: 14
Java_用JAVA实现一个计算器_
5星 · 资源好评率100%
在Java Swing编程中,你可以通过以下步骤实现这个功能:
1. 首先,你需要导入必要的Swing库:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
```
2. 创建一个`JFrame`作为窗口,并设置其布局为FlowLayout:
```java
public class Calculator extends JFrame {
private JTextField inputField;
private JTextField resultField;
public Calculator() {
setTitle("计算");
setLayout(new FlowLayout());
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
createFields();
}
private void createFields() {
inputField = new JTextField();
resultField = new JTextField("0", 10); // 设置初始值为0, 可显示10位数
add(inputField);
add(resultField);
}
//...后续的事件监听和计算部分
}
```
3. 添加事件监听器,每当输入框内容变化,就触发计算方法:
```java
private ActionListener actionListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String input = inputField.getText();
double[] numbers = parseNumbers(input);
updateResult(numbers);
}
private double[] parseNumbers(String input) {
// 这里需要实现将输入的逗号分隔字符串转换成double数组
// 示例代码,实际应用中需要更完善的解析逻辑
return Arrays.stream(input.split(","))
.mapToDouble(Double::parseDouble)
.toArray();
}
private void updateResult(double[] numbers) {
double sum = Arrays.stream(numbers).sum();
double average = sum / numbers.length;
resultField.setText(String.format("%.2f, %.2f", sum, average));
}
};
inputField.addActionListener(actionListener);
```
4. 最后,在主函数中启动应用程序:
```java
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
Calculator calculator = new Calculator();
calculator.setVisible(true);
});
}
```
以上代码实现了基本的功能,你可以根据需要完善输入验证、错误处理等细节。
阅读全文