编写GUI程序,实现一个标题为“计算”的窗口。 窗口的布局为FlowLayout布局,在窗口中添加两个文本区。 当用户在一个文本区中输入若干个数值时,另一个文本区对输入的数值进行求和并求出平均值,也就是随着用户输入的变化,另一个文本区不断更新求和及平均值。
时间: 2024-10-10 18:13:31 浏览: 13
编写GUI(图形用户界面)程序,你可以使用Java的Swing库,它是Java的标准GUI工具包。首先,你需要创建一个新的JFrame类作为窗口的基础,并设置其标题为“计算”。以下是简单的步骤:
1. 导入必要的库:
```java
import javax.swing.*;
import java.awt.*;
```
2. 创建一个名为`CalculatorWindow`的类,并继承`JFrame`:
```java
public class CalculatorWindow extends JFrame {
private JTextField textField1; // 输入数值的文本区1
private JTextField textField2; // 输出求和与平均值的文本区2
private JButton addButton; // 加法按钮
public CalculatorWindow() {
initialize();
}
private void initialize() {
setTitle("计算");
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout());
textField1 = new JTextField();
add(textField1);
textField2 = new JTextField(10); // 设置初始大小为10列,以便显示结果
textField2.setEditable(false); // 防止用户编辑结果
add(textField2);
addButton = new JButton("+");
addButton.addActionListener(e -> calculateSum());
add(addButton);
pack(); // 自动调整组件大小以适应窗口
setVisible(true);
}
private double calculateSum() {
String input = textField1.getText();
double sum;
try {
sum = Double.parseDouble(input);
// 省略错误处理,这里仅展示核心逻辑
double average = sum / (textField1.getText().split("\\s+").length);
textField2.setText(String.format("%.2f", sum) + " (" + String.format("%.2f", average) + ")");
} catch (NumberFormatException ex) {
textField2.setText("请输入数字");
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
new CalculatorWindow();
});
}
}
```
在这个例子中,我们创建了两个文本框和一个加法按钮。每当用户点击加法按钮时,会触发`calculateSum()`方法,该方法读取第一个文本框的内容,尝试将其转换为双精度数,然后进行求和和平均值计算,并将结果显示在第二个文本框。