欢迎来到天天文库
浏览记录
ID:14780619
大小:1.15 MB
页数:16页
时间:2018-07-30
《java典型模块与项目实战大全(第8章)_it168文库》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章关机工具(Timer类+系统命令)第8章关机工具(Timer类+系统命令)在Java语言中,线程的类除了类Thread外,还有类Timer和类TimerTask。因此对于程序员来说,如果想掌握好事件机制,除了掌握类Thread,还必须要学习类Timer和类TimerTask。本章将通过模拟关机工具的功能,介绍如何调用Windows系统命令,还将详细介绍线程的类Timer。本章的学习目标如下:q掌握关机工具项目;q掌握如何调用Windows系统命令;q理解Timer和TimerTask类。8.1关机工具原理关机工具项目用来模拟计算机的关机功能,即Windows系统的
2、关机功能,除此之外还将实现定时关闭计算机的功能等。8.1.1项目结构框架分析对于关机工具项目,除了该项目的界面外,剩下的就是两个工具类。关机工具项目项目目录如图8.1所示,该项目中的3个类分别为关机工具类CutDownTool.java、定时关机工具类CountTimeTool.java和关机工具项目界面类CloseComputer.java。图8.1项目目录8.1.2项目功能业务分析本节将向读者介绍整个项目要实现的功能。这些功能包括关机工具的初始化、·151·第8章关机工具(Timer类+系统命令)按住鼠标功能和放开鼠标后的功能。1.关机工具初始化当运行关机工具项目中
3、的CloseComputer类后,就会出现如图8.2所示的初始界面。在该界面中将显示出实现关机的各种方式。图8.2关机工具初始界面2.倒计时关机功能关机工具项目要实现倒计时关机功能,可以在初始化对话框中单击“倒计时关机”按钮,弹出时间输入对话框。在该对话框中输入相应的时间后,单击“确定”按钮就会实现以输入框中的时间倒计时关机的功能。如果想取消该功能,可以在初始化对话框中单击“取消关机”按钮,弹出确认对话框。在该对话框中单击“确定”按钮就可以实现取消关机的功能,具体过程如图8.3所示。图8.3倒计时关机的过程3.定时关机功能关机工具项目要实现定时关机功能,可以在初始化对话
4、框中单击“定时关机”按钮,弹出时间输入对话框。在该对话框中输入相应的时间后,单击“确定”按钮就会实现以输入框中的时间倒计时关机功能。如果想取消该功能,可以在初始化对话框中单击“取消关机”按钮,弹出确认对话框。在该对话框中单击“确定”按钮就可以实现取消关机的功能,具体过程如图8.4所示。·151·第8章关机工具(Timer类+系统命令)图8.4定时关机的过程8.2关机工具的实现过程本章通过调用系统命令和多线程的相关知识来实现关机工具项目,具体程序架构如图8.5所示,它包含两个工具类和一个界面类。图8.5程序关系图8.2.1关机工具的类CloseComputer.java类
5、用来实现“关机工具”项目的界面,所以该类继承了类JFrame·151·第8章关机工具(Timer类+系统命令),又由于该类需要实现事件机制,所以实现了接口ActionListener。该类的具体内容如代码8.1所示,UML如图8.6所示。图8.6关机工具类图代码8.1关机工具类:CloseComputer.javapublicclassCloseComputerextendsJFrameimplementsActionListener{//创建成员变量//创建实现BorderLayout布局的面板对象panel_mainprivateJPanelpanel_main=n
6、ewJPanel(newBorderLayout(5,10));//创建实现FlowLayout布局的面板对象panel_subnorthprivateJPanelpanel_subnorth=newJPanel(newFlowLayout(3));//创建实现FlowLayout布局的面板对象panel_subcenterprivateJPanelpanel_subcenter=newJPanel(newFlowLayout(1,5,5));//创建了3个按钮对象countdown、time和cancelprivateJButtoncountdown=newJButt
7、on("倒计时关机");privateJButtontime=newJButton("定时关机");privateJButtoncancel=newJButton("取消关机");privateJLabeltag;//创建标签对象tagStringkey;//创建字符串对象keypublicCloseComputer(){//构造函数this.getContentPane().add(panel_main);//添加对象panel_main到主窗口里//添加对象panel_subnorth到对象panel_main窗口里panel_mai
此文档下载收益归作者所有