欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    程序设计实用案例选讲(袁卫华)案例选讲第十一周.ppt

    • 资源ID:6011241       资源大小:434KB        全文页数:31页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    程序设计实用案例选讲(袁卫华)案例选讲第十一周.ppt

    Java输入输出流(1),三、案例简介Java基本输入输出流类四、文件类File五、小结和作业,一、多线程应用,二、图形界面编程:习题讲解,一、多线程应用,GUI线程,1.GUI线程当Java程序中包含图形界面时,Java虚拟机在运行应用程序时会启动更多的线程,其中有两个重要的线程:AWT-EventQuecue:负责处理GUI事件AWT-Windows:负责将窗体或组件绘制到桌面2.ScrollWordsAndTimer.java本例中是一个带滚动字幕的小时钟,单击“开始显示时间”在文本框中显示系统当前时间;单击“停止时间显示”,时间显示就停止滚动的字幕在单击“加速”键后,会加速字幕的滚动速度;单击“停止“后,会停止滚动单击”开始“后,文字会重新开始滚动,一、多线程应用,GUI线程,2.ScrollWordsAndTimer.java读程序,回答问题:本例中的两个线程都是在哪里被创建和启动的?标志位stopScrolling,stopTimer的作用是什么?文字是如何实现滚动的?加速滚动是如何实现的?单击“停止滚动”按钮后,文字的滚动是如何停止的?单击“开始滚动”后又是如何实现滚动的?为什么在单击按钮startWordsBtn以后,判定线程已经进入死亡状态后,才给线程分配新的实体?而且需要将startWordsBtn设置为不可用?,三、多线程应用,GUI线程,2.ScrollWordsAndTimer.java读程序,回答问题:为什么在单击按钮startWordsBtn以后,判定线程已经进入死亡状态后,才给线程分配新的实体?而且需要将startWordsBtn设置为不可用?一个已经运行的线程在没有进入死亡状态之前,不能给它分配新的实体,否则会抛出IllegalThreadStateException;而当通过单击一个按钮让一个线程运行时,在这个线程执行完run()方法之前,用户可能会随时再次单击该按钮,这时也会引发IllegalThreadStateException,所以可以在单击startWordsBtn按钮后,将其设为不可用。,二、习题讲解,1、三角形面积,二、习题讲解,1、三角形面积关键代码,文本框内容发生变化时触发CaretListener侦听器,对文本框中输入文本进行格式检查,二、习题讲解,2、简易计算器关键代码,三、第四章案例介绍,1、英文测试系统,完成一个英文练习小系统,每当用户做完一个题目之后,就判定分数,单击“下一题目”按钮,就再读入一个题目,当做完全部的题目后,通知用户练习已经完成;当单击“重新练习”时,程序从第一个题目开始重新开始练习。,编程要求:要求完成图形界面的设计与编写。将练习题及其选项存储在一个文本文件中,每次从中读取一个题目的信息显示在JFrame框架中。每当用户做完一个题目之后,就判定分数;然后用户可以继续做下一个题目。,三、第四章案例介绍,1、英文测试系统1)界面设计,public class EnglishExercise extends JFrame implements ActionListener,类数据成员的定义:图形界面中用到的各种组件的定义,构造方法:EnglishExercise()方法,JTextField,JButton,JLabel,JRadioButton等组件的实例化,设置JFrame布局方式,合理放置各个组件,给相关组件添加事件监听器,设置JFrame的可见性,大小和关闭按钮时的动作,main方法:new EnglishExercise();,定义4个JPanel面板,将相关组件加到JPanel上,三、第四章案例介绍,1、英文测试系统1)界面设计,三、第四章案例介绍,1、英文测试系统2)流程设计,public class EnglishExercise extends JFrame implements ActionListener,类数据成员的定义:图形界面中用到的各种组件的定义,存放练习题的相关文件及流对象的定义,ArrayList对象的定义,得分score的定义,构造方法:EnglishExercise()方法,JTextField,JButton,JLabel,JRadioButton等组件的实例化,给相关组件添加事件监听器,设置JFrame布局方式,合理放置各个组件,设置JFrame的可见性,大小和关闭按钮时的动作,实例化文件字符流对象fin和缓冲式字符输入流bin,调用readQuestionFromeFile()方法从题库文件中读取第一个练习题,并将问题部分和选择题选项部分分别显示在JFrame框架中,三、第四章案例介绍,public class EnglishExercise extends JFrame implements ActionListener,readQuestionFromeFile()方法:从题库文件中读取练习题方法,并将问题部分和选择题选项部分显示在JFrame框架中,strReadLine=bin.readLine();/读取题库源文件的一行,如果读取出来的一行字符串不是endend,表示还没有读取结束,用分隔符“#”构造字符串记号处理器对象token,用分隔符“#”来分隔字符串strReadLine,并将子串存放在array中,将array中的题目和选项分别显示在JFrame的相应组件中,三、第四章案例介绍,public class EnglishExercise extends JFrame implements ActionListener,readQuestionFromeFile()方法:从题库文件中读取练习题方法,并将问题部分和选择题选项部分显示在JFrame框架中,三、第四章案例介绍,She 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,并显示在分数文本框中;打开读取题库文件的输入流;从题库文件中读取第一个练习题,并将问题部分和选择题选项部分显示在JFrame框架的相应组件中,如果触发动作事件的是“下一题目”命令按钮nextBtn,从题库文件中读取下一个练习题,并将问题部分和选择题选项部分显示在JFrame框架中,如果触发动作事件的是四个单选按钮之一radionBtni,如果用户单击了一个单选按钮并且单击了正确的选项,则score=score+1;将所有的单选按钮设置为不可用状态,1)什么是File类,四、文件类File,在Java语言中,用File类表示文件,File类可以处理各种文件操作。主要用来获取文件本身的一些信息,如文件所在的目录、长度和文件的读写权限等。Java的File类也可表示目录。文件相关的一个重要概念是目录,在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);path是路径名,name是文件名。3)public File(File dir,String name);dir是路径名,name是文件名。,3)文件名的处理方法,四、文件类File,1)String getName():得到一个文件的名称(不包括路径)。2)String getPath():得到一个文件的路径名。3)String getAbsolutePath():得到一个文件的绝对路径名。4)String getParent():得到一个文件的上一级目录名。5)String renameTo(File newName):将当前文件名更名为给定的文件名。,4)文件属性测试,四、文件类File,1)boolean exists():测试当前File对象所指示的文件是否在操作系统中存在。2)boolean canWrite():测试当前文件是否可写。3)boolean canRead():测试当前文件是否可读。4)boolean isFile():测试当前文件是否是文件(不是目录)。5)boolean isDirectory():测试当前文件是否是目录。,5)目录方法,四、文件类File,1)boolean mkdir():根据当前对象生成一个由该对象指定的文件夹2)String list():列出当前目录下的文件,5)例题1-TestOfFileProperty.java,四、文件类File,题目要求:测试src/chap09/EnglishExercise.java的各种属性。思路建立File对象调用File类的响应方法输出File对象的各种属性运行界面截图,5)例题1-TestOfFileProperty.java,四、文件类File,题目要求:测试src/chap09/EnglishExercise.java的各种属性。关键代码建立File对象 File file1=new File(D:/ourworkspace/CasesOfProgramming/src/chap09,EnglishExercise.java);File file2=new File(D:ourworkspaceCasesOfProgrammingsrcchap09);调用File对象的方法输出文件的各种属性(文件EnglishExercise是可读的吗:+file1.canRead();(文件EnglishExercise的长度:+file1.length();(文件EnglishExercise的绝对路径:+file1.getAbsolutePath();(文件chap09是目录吗?+file2.isDirectory();,6)File类需要注意的问题:,四、文件类File,1.File类的构造方法没有创建一个文件或文件夹的功能调用File类构造方法时,仅仅是以某个文件名或者目录名为参数,在程序运行环境中创建了一个File对象,而不是在文件系统中创建了一个新文件。File对象可以表示文件系统中对应的目录或文件,也可以表示在文件系统中尚不存在的目录或文件。如:File file1=new File(D:/ourworkspace/CasesOfProgramming/src/chap09,Exercise.java);即使Exercise.java文件不存在,这个构造方法也会创建一个File对象。但不会在系统指定目录中创建文件名为Exercise.java的新文件。,6)File类需要注意的问题:,四、文件类File,1.File类的构造方法没有创建一个文件或文件夹的功能问题:在程序中应该如何创建一个新文件?方法一:调用File对象的方法CreateNewFile();try if(!file1.exists()file1.createNewFile();catch(IOException e)方法二:以File对象为参数来调用FileOutputStream的构造方法来创建对象Fout时,如果创建File对象的文件名不存在,它可以在指定的目录下创建这个新文件。File dstFile=new File(src/chap09/face1(new).gif);FileOutputStream fout=new FileOutputStream(dstFile);,6)File类需要注意的问题:,四、文件类File,2.程序中文件目录的表示问题一、使用绝对路径1)使用Windows环境中的反斜杠“”来表示一个路径表达式。File file1=new File(D:ourworkspaceCasesOfProgrammingsrcchap09,EnglishExercise.java);2)使用UNIX环境中的正斜杠“/”来表示一个路径表达式 File file1=new File(D:/ourworkspace/CasesOfProgramming/src/chap09,EnglishExercise.java);,6)File类需要注意的问题:,四、文件类File,2.程序中文件目录的表示问题一、使用绝对路径3)直接使用没有转义处理正斜杠“/”来表示一个路径表达式。File file1=new File(D:/ourworkspace/CasesOfProgramming/src/chap09,EnglishExercise.java);2)和3)这两种正斜杠的表达方式在Windows环境中是允许的,但是当程序被移植到其他类型的操作系统中的时候,这种使用正斜杠的表达方式可能就无法通过编译了,所以这种路径表达方式尽量不要使用。,6)File类需要注意的问题:,四、文件类File,2.程序中文件目录的表示问题二、使用相对路径1)以整个工程文件根目录的相对目录来表示一个文件File file1=new File(src/chap09,EnglishExercise.java);File file1=new File(src/chap09/EnglishExercise.java);2)使用File类的静态实例域:seperator,这个域中保存着当前目录分隔符的相关信息。File file1=new File(src+File.separator+chap09,EnglishExercise.java);如果不能保证目录分隔符到底是反斜杠“”还是正斜杠“/”,用File.separator来表达一个目录更有利于程序在不同操作系统之间的移植。,6)File类需要注意的问题:,四、文件类File,2.程序中文件目录的表示问题三、使用系统的环境参数来构造文件路径1)System.getProperty()方法可以取得很多我们经常要用到的环境参数。String userDir=System.getProperty(user.dir);File file1=new File(userDir+File.separator+src+File.separator+chap09,EnglishExercise.java);user.dir-用户的当前工作目录 D:ourworkspaceCasesOfProgramming,6)File类需要注意的问题:,四、文件类File,2.程序中文件目录的表示问题四、取得Java运行时.class文件所在目录方法File file1=new File(this.getClass().getResource().getPath(),EnglishExercise.class);(文件EnglishExercise的绝对路径:+file1.getAbsolutePath();输出结果:文件EnglishExercise的绝对路径:D:ourworkspaceCasesOfProgrammingbinchap09EnglishExercise.class,五、小结和作业,作业1,1.ScrollWordsAndTimer.java读程序,回答问题:本例中的两个线程都是在哪里被创建和启动的?标志位stopScrolling,stopTimer的作用是什么?文字是如何实现滚动的?加速滚动是如何实现的?单击“停止滚动”按钮后,文字的滚动是如何停止的?单击“开始滚动”后又是如何实现滚动的?为什么在单击按钮startWordsBtn以后,判定线程已经进入死亡状态后,才给线程分配新的实体?而且需要将startWordsBtn设置为不可用?,五、小结和作业,作业2上机运行案例:EnglishExercise.java编程练习:详见实验指导书,

    注意事项

    本文(程序设计实用案例选讲(袁卫华)案例选讲第十一周.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开