Java编程:T7_4与T7_5程序解析与实现

需积分: 40 3 下载量 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编程和事件处理的好例子,它们展示了如何接收用户输入,处理文本事件,并进行基本的计算操作。在实际编程中,你可以根据需要扩展这些功能,例如增加验证输入、错误提示或者更复杂的计算逻辑。