Java编程:T7_4与T7_5程序解析与实现
需积分: 40 3 浏览量
更新于2024-07-31
收藏 83KB DOC 举报
"这是Java编程相关的学习资料,包含了《java2实用教程(第三版)》第七章的课后习题答案,由耿祥义编著。主要涵盖了GUI编程的基础知识,如事件监听和文本处理。"
在Java编程中,这两段代码展示了如何创建图形用户界面(GUI)并处理用户输入。首先,我们来看`T7_4`这个程序,它是一个简单的计算程序,用于计算用户在文本区域输入的一系列数字的总和和平均值。
1. **基础概念**:
- `java.awt` 和 `java.awt.event` 包:这两个包是Java Swing库的一部分,提供了创建和管理GUI组件以及处理用户事件的基础工具。
- `TextListener`:这是一个接口,用于监听文本组件(如`TextArea`)中的文本变化事件。
2. **类定义**:
- `T7_4` 类:主类,创建了一个`FirstWindow`对象,启动GUI。
- `FirstWindow` 类:继承自`Frame`,实现了`TextListener`接口。`Frame`是顶级容器,用于承载其他组件。
3. **GUI 组件**:
- `TextArea`:用于显示多行文本的组件,这里有两个`TextArea`,一个用于用户输入数字,另一个用于显示结果。
4. **事件监听**:
- `implements TextListener`:`FirstWindow`类实现`TextListener`接口,意味着它必须提供`textValueChanged`方法来处理文本变化事件。
- `textValueChanged` 方法:当用户在`textA1`中输入时触发,获取输入的字符串,然后进行解析和计算。
5. **字符串处理**:
- `StringTokenizer fenxi = new StringTokenizer(s, "\n\r")`:将用户输入的字符串按照换行符拆分成多个令牌,以便逐个处理。
6. **数值计算**:
- 计算输入数字的总和和平均值:通过`Long.parseLong`将每个令牌转换为`long`类型,累加得到总和;然后除以数字个数得到平均值。
7. **错误处理**:
- `NumberFormatException e1`:如果用户输入的不是有效的数字,`Long.parseLong`会抛出此异常,程序捕获异常并打印出错信息。
接下来是`T7_5`程序,它创建了一个名为"MyFrame"的窗口,但没有给出具体的实现细节。通常,此类会扩展`Frame`类,并添加组件、布局和事件处理等。
这些代码片段是学习Java GUI编程和事件处理的好例子,它们展示了如何接收用户输入,处理文本事件,并进行基本的计算操作。在实际编程中,你可以根据需要扩展这些功能,例如增加验证输入、错误提示或者更复杂的计算逻辑。
2021-12-16 上传
334 浏览量
309 浏览量
230 浏览量
115 浏览量
wyn2266
- 粉丝: 1
- 资源: 5
最新资源
- python-3.4.4
- elemental-lowcode:元素低码开发平台
- Logger:记录工具
- SheCodes-WeatherApp:挑战3
- 阿宾贝夫前端测试
- 银灿IS917U盘PCB电路(原理图+PCB图)-其它其他资源
- registry-url:获取设置的npm注册表URL
- ST-link驱动.rar
- keen-gem-example:一个 Sinatra 应用程序,使用敏锐的 gem 异步发布事件
- 行业分类-设备装置-一种抗菌纸.zip
- Pearl-Hacks-2021:线框的htmlcss骨架
- a2s-rs:源代码查询的Rust实现
- DotFiles:我的Dotfiles <3
- Magisk Manager-20.1.zip
- ScheduleReboot:此实用程序用于在特定时间重新引导计算机,解决了在目标时间内处于睡眠模式的计算机在唤醒后实施重新引导的问题。
- Online-Face-Recognition-and-Authentication:Hsin-Rung Chou、Jia-Hong Lee、Yi-Ming Chan 和 Chu-Song Chen,“用于人脸识别和认证的数据特定自适应阈值”,IEEE 多媒体信息处理和检索国际会议,MIPR 2019