编写GUI程序,实现一个标题为“计算”的窗口。 窗口的布局为FlowLayout布局,在窗口中添加两个文本区。 当用户在一个文本区中输入若干个数值时,另一个文本区对输入的数值进行求和并求出平均值,也就是随着用户输入的变化,另一个文本区不断更新求和及平均值。使用java
时间: 2024-10-10 18:12:46 浏览: 50
java编写的一个计算器小程序(图形用户界面组件GUI)
5星 · 资源好评率100%
要在Java中编写一个简单的GUI程序,实现一个名为“计算”的窗口,我们首先需要导入javax.swing库,然后按照以下步骤操作:
1. 导入所需的库:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
```
2. 定义主窗口类,继承JFrame,并设置窗口的基本属性:
```java
public class CalculatorWindow extends JFrame {
private JTextField textField1; // 文本框用于存储输入数值
private JTextField textField2; // 输出结果的文本框
private JLabel sumLabel; // 求和标签
public CalculatorWindow() {
setTitle("计算");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout()); // 使用FlowLayout布局
}
// 其他方法...
}
```
3. 在`CalculatorWindow`中初始化组件,并添加事件监听器来处理用户输入:
```java
@Override
public void initComponents() {
textField1 = new JTextField(10); // 输入框,长度为10字符
textField2 = new JTextField("0", 10); // 输出框,初始值为0,长度也为10字符
sumLabel = new JLabel("求和:"); // 求和标签
textField1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int inputNum = Integer.parseInt(textField1.getText());
int sum = Integer.parseInt(textField2.getText()) + inputNum;
textField2.setText(String.valueOf(sum));
updateAverage(); // 更新平均值
}
});
add(sumLabel);
add(textField1);
add(textField2);
}
private void updateAverage() { // 更新平均值的方法
// 当输入框中的数字改变时,这里可以计算平均值(假设之前有求和结果)
// 如果第一次计算,平均值可能是0,也可以考虑初始化平均数为0
int totalNumbers = Integer.parseInt(textField2.getText());
double average = (double) totalNumbers / countOfInputs();
textField2.append("\n平均值: " + average);
}
private int countOfInputs() {
// 计算输入过的数字数量,假设只允许整数输入
// 实际应用中可能需要从历史记录或其他地方获取这个信息
return 0; // 这里暂设为0,实际项目中根据需求实现
}
// 设置其他窗口展示、显示等方法...
```
4. 最后记得在`main`函数中创建`CalculatorWindow`实例并启动:
```java
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
CalculatorWindow window = new CalculatorWindow();
window.pack();
window.setVisible(true);
}
});
}
```
现在你已经有了一个简单的GUI窗口,当用户在第一个文本框输入数值时,第二个文本框会实时更新求和结果,并在每次更改后显示平均值。注意这里的示例中没有完整地实现平均值的计算和输入计数,你需要根据实际情况补充这部分功能。
阅读全文