Java2 实用教程:第九章编程习题与解答

需积分: 9 12 下载量 12 浏览量 更新于2024-09-12 1 收藏 160KB DOC 举报
"这是一份关于Java编程的学习资料,提供了《Java2实用教程》一书中的部分习题解答,包括程序源代码和运行结果的截图。这份资源主要聚焦于GUI应用的开发,通过一个简单的计算器应用程序来教授Java AWT库的使用。" 在《Java2实用教程》的第九章中,我们看到一个实现简单计算器功能的Java程序。这个程序使用了AWT(Abstract Window Toolkit)库来创建图形用户界面(GUI),包括文本框和按钮。以下是该程序的关键知识点: 1. **Java AWT库**:AWT是Java提供的第一个GUI库,用于创建窗口、按钮、文本框等组件。在这个例子中,我们看到了`Frame`、`TextField`、`Button`以及`FlowLayout`的使用。 2. **继承与接口实现**:`Calculated`类继承自`Frame`类,并实现了`ActionListener`接口,表明它能够响应用户对按钮的点击事件。 3. **布局管理器**:`FlowLayout`被设置为窗口的布局管理器,它会按行和列的方式自动排列组件,确保窗口在不同大小的屏幕中都能正常显示。 4. **文本框(TextField)**:`text1`、`text2`和`text3`分别用于输入两个数字和显示计算结果。`text3`设置为只读,防止用户直接编辑。 5. **按钮(Button)**:`buttonH`、`buttonC`、`buttonJ`和`buttonS`分别代表加、减、乘、除操作。每个按钮都添加了一个事件监听器,以便在用户点击时执行相应的计算。 6. **事件处理**:通过实现`ActionListener`接口,`actionPerformed`方法会被调用。在这里,它解析`text1`和`text2`中的字符串为双精度浮点数,然后根据触发事件的按钮执行相应的运算。 7. **异常处理**:使用`try-catch`块来捕获可能的`NumberFormatException`,当用户输入非数字字符时,程序不会崩溃。 8. **窗口关闭**:通过添加`WindowListener`,当用户尝试关闭窗口时,程序会调用`System.exit(0)`退出,这是一种优雅的程序退出方式。 这个习题答案提供了一个很好的实践示例,展示了如何在Java中创建基本的GUI应用,并处理用户输入。对于初学者来说,这是一个很好的起点,帮助他们理解如何将理论知识应用于实际编程中。
2012-06-28 上传
Java 2实用教程(第三版)实验指导与习题解答 清华大学出版社 (编著 耿祥义 张跃平) 实验模版代码 建议使用文档结构图 (选择Word菜单→视图→文档结构图) 上机实践1 初识Java 4 实验1 一个简单的应用程序 4 实验2 一个简单的Java Applet程序 4 实验3 联合编译 5 上机实践2 基本数据类型与控制语句 6 实验1 输出希腊字母表 6 实验2 回文数 6 实验3 猜数字游戏 8 上机实践3 类与对象 9 实验1 三角形、梯形和圆形的类封装 9 实验2 实例成员与类成员 12 实验3 使用package语句与import语句 13 上机实践4 继承与接口 15 实验1 继承 15 实验2 上转型对象 17 实验3 接口回调 18 上机实践5 字符串、时间与数字 19 实验1 String类的常用方法 19 实验2 比较日期的大小 21 实验3 处理大整数 22 上机实践6 组件及事件处理 23 实验1 算术测试 23 实验2 信号灯 25 实验3 布局与日历 28 上机实践7 组件及事件处理2 31 实验1 方程求根 31 实验2 字体对话框 34 实验3 英语单词拼写训练 37 上机实践8 多线程 41 实验1 汉字打字练习 41 实验2 旋转的行星 43 实验3 双线程接力 47 上机实践9 输入输出流 50 实验1 学读汉字 50 实验2 统计英文单词字 53 实验2 读取Zip文件 56 上机实践10 Java 中的网络编程 57 实验1 读取服务器端文件 57 实验2 使用套接字读取服务器端对象 59 实验3 基于UDP的图像传输 62 上机实践11 数据结构 66 实验1 扫雷小游戏 66 实验2 排序与查找 70 实验3 使用TreeSet排序 72 上机实践12 java Swing 74 实验1 JLayeredPane分层窗格 74 实验2 使用表格显示日历 75 实验3 多文档界面(MDI) 78 上机实践1 初识Java 实验1 一个简单的应用程序 2.模板代码 Hello.java package 实验一; public class Hello { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("你好,很高兴学习Java"); //命令行窗口输出"你好,很高兴学习Java" A a=new A(); a.fA(); } } class A { void fA() {System.out.println("we are student"); } } 实验2 一个简单的Java Applet程序 2.模板代码 FirstApplet.java import java.applet.*; import java.awt.*; public class FirstApplet extends Applet { public void paint(Graphics g) { g.setColor(Color.blue); g.drawString("这是一个Java Applet 程序",10,30);//在Java Applet中绘制一行文字:“这是一个Java Applet 程序” g.setColor(Color.red); g.setFont(new Font("宋体",Font.BOLD,36)); g.drawString("我改变了字体",20,50);//在Java Applet中绘制一行文字:“我改变了字体” } }实验3 联合编译 2.模板代码 public class MainClass { public static void main (String args[ ]) { System.out.println("你好,只需编译我") ; //命令行窗口输出"你好,只需编译我" A a=new A(); a.fA(); B b=new B(); b.fB(); } } public class A { void fA() {