Java 编写应用程序,有一个标题为“计算”的窗口,窗口的布局为 FowLayout 布局。窗口中添加两个文本区,当我们在一个文本区中输入若干个数时,另一个文本区同时对你输入的数进行求和运算并求出平均值,也就是说随着
时间: 2024-12-17 17:36:47 浏览: 8
在Java中创建一个名为"计算"的窗口,使用FlowLayout布局,可以按照以下步骤来实现这个功能:
1. 导入必要的包:
```java
import javax.swing.*;
import java.awt.*;
```
2. 创建一个JFrame作为窗口,并设置其布局管理器为FlowLayout:
```java
public class CalculatorWindow extends JFrame {
private static final String WINDOW_TITLE = "计算";
public CalculatorWindow() {
setTitle(WINDOW_TITLE);
setLayout(new FlowLayout());
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
```
3. 添加两个JTextField(文本区)到窗口,用于用户输入数字和显示结果:
```java
private JTextField inputField;
private JTextField resultField;
public void createUIComponents() {
inputField = new JTextField();
resultField = new JTextField(10); // 设置初始宽度为10字符
// 将文本框添加到窗口上
add(inputField);
add(resultField);
}
```
4. 为窗口添加事件监听器,例如鼠标点击事件,以便在用户输入数字时进行求和和平均值计算。这里我们假设用户每次按下回车键都会触发计算:
```java
inputField.addActionListener(e -> {
try {
double[] numbers = parseNumbersFromInput(inputField.getText());
double sum = calculateSum(numbers);
double average = calculateAverage(numbers);
resultField.setText(String.format("总和: %.2f\n平均值: %.2f", sum, average));
} catch (NumberFormatException ex) {
resultField.setText("请输入有效的数字");
}
});
// 辅助方法:解析输入为double数组
private double[] parseNumbersFromInput(String input) throws NumberFormatException {
String[] numberStrings = input.split(",");
double[] numbers = new double[numberStrings.length];
for (int i = 0; i < numberStrings.length; i++) {
numbers[i] = Double.parseDouble(numberStrings[i]);
}
return numbers;
}
// 辅助方法:计算数组的和
private double calculateSum(double[] numbers) {
double sum = 0;
for (double num : numbers) {
sum += num;
}
return sum;
}
// 辅助方法:计算数组的平均值
private double calculateAverage(double[] numbers) {
if (numbers.length > 0) {
return sum / numbers.length;
} else {
return 0;
}
}
```
5. 最后,在`main`函数中创建并显示窗口:
```java
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
CalculatorWindow window = new CalculatorWindow();
window.createUIComponents(); // 这里需要先调用createUIComponents方法初始化组件
window.setVisible(true);
});
}
```
现在,当你在一个文本区输入数字,然后按回车,另一个文本区会显示出输入数值的总和和平均值。如果输入无效,它会显示错误消息。
阅读全文