程序设计实用案例选讲(袁卫华)案例选讲第十一周.ppt
《程序设计实用案例选讲(袁卫华)案例选讲第十一周.ppt》由会员分享,可在线阅读,更多相关《程序设计实用案例选讲(袁卫华)案例选讲第十一周.ppt(31页珍藏版)》请在三一办公上搜索。
1、Java输入输出流(1),三、案例简介Java基本输入输出流类四、文件类File五、小结和作业,一、多线程应用,二、图形界面编程:习题讲解,一、多线程应用,GUI线程,1.GUI线程当Java程序中包含图形界面时,Java虚拟机在运行应用程序时会启动更多的线程,其中有两个重要的线程:AWT-EventQuecue:负责处理GUI事件AWT-Windows:负责将窗体或组件绘制到桌面2.ScrollWordsAndTimer.java本例中是一个带滚动字幕的小时钟,单击“开始显示时间”在文本框中显示系统当前时间;单击“停止时间显示”,时间显示就停止滚动的字幕在单击“加速”键后,会加速字幕的滚动速
2、度;单击“停止“后,会停止滚动单击”开始“后,文字会重新开始滚动,一、多线程应用,GUI线程,2.ScrollWordsAndTimer.java读程序,回答问题:本例中的两个线程都是在哪里被创建和启动的?标志位stopScrolling,stopTimer的作用是什么?文字是如何实现滚动的?加速滚动是如何实现的?单击“停止滚动”按钮后,文字的滚动是如何停止的?单击“开始滚动”后又是如何实现滚动的?为什么在单击按钮startWordsBtn以后,判定线程已经进入死亡状态后,才给线程分配新的实体?而且需要将startWordsBtn设置为不可用?,三、多线程应用,GUI线程,2.ScrollWo
3、rdsAndTimer.java读程序,回答问题:为什么在单击按钮startWordsBtn以后,判定线程已经进入死亡状态后,才给线程分配新的实体?而且需要将startWordsBtn设置为不可用?一个已经运行的线程在没有进入死亡状态之前,不能给它分配新的实体,否则会抛出IllegalThreadStateException;而当通过单击一个按钮让一个线程运行时,在这个线程执行完run()方法之前,用户可能会随时再次单击该按钮,这时也会引发IllegalThreadStateException,所以可以在单击startWordsBtn按钮后,将其设为不可用。,二、习题讲解,1、三角形面积,二、
4、习题讲解,1、三角形面积关键代码,文本框内容发生变化时触发CaretListener侦听器,对文本框中输入文本进行格式检查,二、习题讲解,2、简易计算器关键代码,三、第四章案例介绍,1、英文测试系统,完成一个英文练习小系统,每当用户做完一个题目之后,就判定分数,单击“下一题目”按钮,就再读入一个题目,当做完全部的题目后,通知用户练习已经完成;当单击“重新练习”时,程序从第一个题目开始重新开始练习。,编程要求:要求完成图形界面的设计与编写。将练习题及其选项存储在一个文本文件中,每次从中读取一个题目的信息显示在JFrame框架中。每当用户做完一个题目之后,就判定分数;然后用户可以继续做下一个题目。
5、,三、第四章案例介绍,1、英文测试系统1)界面设计,public class EnglishExercise extends JFrame implements ActionListener,类数据成员的定义:图形界面中用到的各种组件的定义,构造方法:EnglishExercise()方法,JTextField,JButton,JLabel,JRadioButton等组件的实例化,设置JFrame布局方式,合理放置各个组件,给相关组件添加事件监听器,设置JFrame的可见性,大小和关闭按钮时的动作,main方法:new EnglishExercise();,定义4个JPanel面板,将相关组件
6、加到JPanel上,三、第四章案例介绍,1、英文测试系统1)界面设计,三、第四章案例介绍,1、英文测试系统2)流程设计,public class EnglishExercise extends JFrame implements ActionListener,类数据成员的定义:图形界面中用到的各种组件的定义,存放练习题的相关文件及流对象的定义,ArrayList对象的定义,得分score的定义,构造方法:EnglishExercise()方法,JTextField,JButton,JLabel,JRadioButton等组件的实例化,给相关组件添加事件监听器,设置JFrame布局方式,合理放置
7、各个组件,设置JFrame的可见性,大小和关闭按钮时的动作,实例化文件字符流对象fin和缓冲式字符输入流bin,调用readQuestionFromeFile()方法从题库文件中读取第一个练习题,并将问题部分和选择题选项部分分别显示在JFrame框架中,三、第四章案例介绍,public class EnglishExercise extends JFrame implements ActionListener,readQuestionFromeFile()方法:从题库文件中读取练习题方法,并将问题部分和选择题选项部分显示在JFrame框架中,strReadLine=bin.readLine()
8、;/读取题库源文件的一行,如果读取出来的一行字符串不是endend,表示还没有读取结束,用分隔符“#”构造字符串记号处理器对象token,用分隔符“#”来分隔字符串strReadLine,并将子串存放在array中,将array中的题目和选项分别显示在JFrame的相应组件中,三、第四章案例介绍,public class EnglishExercise extends JFrame implements ActionListener,readQuestionFromeFile()方法:从题库文件中读取练习题方法,并将问题部分和选择题选项部分显示在JFrame框架中,三、第四章案例介绍,She
9、cut cloth with _asissors#a couple#a pair of#two#a#a pair of#,array(0),array(1),array(2),array(3),array(4),array(5),public class EnglishExercise extends JFrame implements ActionListener,三、第四章案例介绍,actionPerformed()方法:动作事件处理方法,如果触发动作事件的是“重新练习”命令按钮startBtn,将分数score置为0,并显示在分数文本框中;打开读取题库文件的输入流;从题库文件中读取第一个
10、练习题,并将问题部分和选择题选项部分显示在JFrame框架的相应组件中,如果触发动作事件的是“下一题目”命令按钮nextBtn,从题库文件中读取下一个练习题,并将问题部分和选择题选项部分显示在JFrame框架中,如果触发动作事件的是四个单选按钮之一radionBtni,如果用户单击了一个单选按钮并且单击了正确的选项,则score=score+1;将所有的单选按钮设置为不可用状态,1)什么是File类,四、文件类File,在Java语言中,用File类表示文件,File类可以处理各种文件操作。主要用来获取文件本身的一些信息,如文件所在的目录、长度和文件的读写权限等。Java的File类也可表示目
11、录。文件相关的一个重要概念是目录,在Java中并不存在一个对应于目录的类。实际上,不论是在Windows系统还是UNIX系统中,都将目录是为一种特殊的文件。,2)创建File对象,四、文件类File,1)public File(String path);如果path是实际存在的路径,则该File对象表示的是目录;如果path是文件名,则该File对象表示的是文件。File file=new File(src/chap09/face1(new).gif);为了加强程序的通用性,建议采用相对路径,不要采用绝对路径。2)public File(String path,String name);pat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 实用 案例 袁卫华 第十 一周
链接地址:https://www.31ppt.com/p-6011241.html