




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计说明书操作系统课程设计 题目: 托盘实例 院 系: 专业班级: 学 号: 学生姓名: 指导教师: 2013年 11月 日 安徽理工大学课程设计(论文)任务书 计算机 院系 软件 教研室学 号学生姓名专业(班级)设计题目系统托盘实例设计技术参数myeclipse Word文档最低松弛度优先算法链式存储模式索引存储模式设计要求(1) 启动程序后将在任务栏托盘区生成一应用程序托盘。(2)对程序的每一部分要有详细的设计分析说明。(3)源代码格式要规范。(4)设计合适的测试用例,对得到的运行结果要有分析。(5)设计中遇到的问题,设计的心得体会。(6)按期提交完整的程序代码、可执行程序和课程设计报告。工作量课程设计任务要求不少于10页的报告,要赋有模块图或流程图。工作计划第一天:查找相关资料,并绘制草图!第二天:定选用java语言为编程语言。第三天:需求分析报告。第四天:手进行编程,实现算法,并调试程序。第五天:试程序并优化功能,最终完成设计报告。参考资料1徐孝凯.数据结构应用教程(第二版).北京:;清华大学出版社,20072张海藩.面向对象程序设计实用教程(第二版).北京: 清华大学出版社,20073汤小丹 梁红兵 哲凤屏 汤子瀛编.计算机操作系统(第三版).西安:西安电子科技大学出版社,20074李勇 刘恩林.计算机体系结构. 长沙:国防科技大学出版社,19875黄祥喜.计算机操作系统实验教程.广州:清中山大学出版社,1994指导教师签字教研室主任签字 2013年11月27日指导教师评语:成绩: 指导教师: 年 月 日安徽理工大学课程设计(论文)成绩评定表摘 要如今生活的方方面面已经离不开电脑,各行各业都要使用电脑提高工作效率,因此提高电脑方便性尤为重要。系统托盘能够极大的提高电脑的操作简洁性和方便性。托盘具有许多提示信息,右击弹出菜单可以执行许多其他的功能。本文将通过托盘实例程序来初步认识托盘效果。(1)启动程序后将在任务栏托盘区生成一应用程序托盘;(2)将鼠标移到托盘上显示提示信息并进行托盘演示;(3)左键单击托盘弹出一窗口,再单击关闭窗口;(4)右键单击托盘会弹出-菜单,菜单有“隐藏”“显示”“关于”“退出”等功能。关键词:计算机 操作系统 托盘目录1托盘61.1 托盘定义61.2托盘特点62系统设计72.1设计要求72.2设计目的72.3设计思路72.4设计流程图83系统实现94运行结果135总结15参考文献161托盘1.1 托盘定义是指在程序运行的同时会在位于桌面右下角的系统的通知区域内创建此程序的图标,使用者可以通过点击图标出现的菜单来控制程序的运行状态。系统托盘是个特殊区域,通常在桌面的底部,在那里,用户可以随时访问正在运行中的那些程序。在微软的Windows里,系统托盘常指任务栏的状态区域;在Gnome的桌面时,常指布告栏区域;在KDE桌面时,指系统托盘。在每个系统里,托盘是所有正运行在桌面环境里的应用程序共享的区域。1.2托盘特点不占屏幕,后台运行,便于控制。2系统设计2.1设计要求1分析设计内容,给出解决方案(要说明设计实现的原理,采用的数据结构)。2画出程序的基本结构框图和流程图。3对程序的每一部分要有详细的设计分析说明。4源代码格式要规范。5设计合适的测试用例,对得到的运行结果要有分析。6设计中遇到的问题,设计的心得体会。7按期提交完整的程序代码、可执行程序和课程设计报告。2.2设计目的带着下面几个问题,对课题进行深入分析直至解决问题:1.了解托盘程序;2.会创建托盘程序;2.3设计思路1启动程序后将在任务栏托盘区生成一应用程序托盘2左键双击弹出一子用户界面窗口3右键单击托盘可关闭应用程序4为了关闭显示的窗口后托盘不会消失,必须将程序设计成两个线程5在主线程创建主窗口和在任务栏生成托盘并建立托盘和主窗口的消息映射6将子线程创建成用户界面线程(窗口线程)。主线程动态地生成子线程7为了在主线程中关闭子用户界面线程,因此需在主线程和子线程之间建立通信机制2.4设计流程图根据算法设计原理及程序结构分析画出程序里程图:TrayConsole类:托盘图标控制台类MainFrame类:Frame窗口类Launcher类:Java应用程序入口信息窗口:显示信息简易空白窗口显示/隐藏功能退出功能关于功能3系统实现设计三个类:TrayConsole类:托盘图标控制台类Launcher类:Java应用程序入口MainFrame类:Frame窗口类代码分别如下:TrayConsole类:托盘图标控制台类import java.awt.AWTException;import java.awt.Image;import java.awt.PopupMenu;import java.awt.SystemTray;import java.awt.Toolkit;import java.awt.TrayIcon;import java.awt.Window;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.MenuItem;import javax.swing.JFrame;import javax.swing.JOptionPane;public class TrayConsole private MenuItem item1;private MenuItem item2;private MenuItem item3;private Image image;private TrayIcon trayIcon;public TrayConsole(final Window window) item1 = new MenuItem(隐藏);item2 = new MenuItem(关于);item3 = new MenuItem(退出);PopupMenu popup = new PopupMenu();popup.add(item1);popup.addSeparator();popup.add(item2);popup.add(item3);image = Toolkit.getDefaultToolkit().createImage(resTrayIcon.png);trayIcon = new TrayIcon(image, ,popup);if(SystemTray.isSupported() SystemTray tray = SystemTray.getSystemTray();try tray.add(trayIcon); catch (AWTException e) JOptionPane.showConfirmDialog(null, 错误,桌面系统托盘当前不可用!,null , JOptionPane.CLOSED_OPTION, JOptionPane.WARNING_MESSAGE);ActionListener AListener1 = new ActionListener() Overridepublic void actionPerformed(ActionEvent e) if(window.isVisible() window.setVisible(false);item1.setLabel(显示); else window.setVisible(true);(JFrame)window).setState(JFrame.NORMAL);item1.setLabel(隐藏);ActionListener AListener2 = new ActionListener() Overridepublic void actionPerformed(ActionEvent e) JOptionPane.showMessageDialog(null, 桌面系统托盘实例n 组员 高才新 陶善侃 王天诚 吴明凯石进,信息,JOptionPane.INFORMATION_MESSAGE);ActionListener AListener3 = new ActionListener() Overridepublic void actionPerformed(ActionEvent e) int optionType = JOptionPane.showConfirmDialog(null, 确定退出?,null, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);if(optionType = JOptionPane.YES_OPTION) System.exit(0);MouseAdapter listener = new MouseAdapter() Overridepublic void mouseClicked(MouseEvent e) if(e.getButton() = MouseEvent.BUTTON1) if(window.isVisible() window.setVisible(false);item1.setLabel(显示); else window.setVisible(true);(JFrame)window).setState(JFrame.NORMAL);item1.setLabel(隐藏);item1.addActionListener(AListener1);item2.addActionListener(AListener2);item3.addActionListener(AListener3);trayIcon.addMouseListener(listener);public MenuItem getItem() return item1;MainFrame类:Frame窗口类import java.awt.Image;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;import javax.swing.JFrame;import javax.swing.ImageIcon;import javax.swing.JLayeredPane;import javax.swing.JLabel;public class MainFrame extends JFrame TrayConsole tray;JLayeredPane layeredPane;JLabel imageLabel;public MainFrame() setTitle(Welcome To Here!);Toolkit toolkit = Toolkit.getDefaultToolkit();Image IconImage = toolkit.createImage(resIcon.png);setIconImage(IconImage);setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);setSize(500,300);setResizable(false);tray = new TrayConsole(this);setLocationRelativeTo(null);addWindowListener(wListener);layeredPane = new JLayeredPane();setLayeredPane(layeredPane);layeredPane.setLayout(null);ImageIcon backImage = new ImageIcon(resBackImage.png);imageLabel = new JLabel(backImage);imageLabel.setBounds(0, 0, 494, 272);layeredPane.add(imageLabel);setVisible(true);private WindowListener wListener=new WindowAdapter() public void windowClosing(WindowEvent e) JFrame frame = (JFrame)e.getWindow();frame.setVisible(false);tray.getItem().setLabel(显示);Overridepublic void windowIconified(WindowEvent e) JFrame frame = (JFrame)e.getWindow();frame.setVisible(false);tray.getItem().setLabel(显示);Launcher类:Java应用程序入口public class Launcher public static void main(String args) MainFrame frame = new MainFrame();4运行结果使用myeclipse执行程序截图:将文件写好执行后全屏截图右键托盘,点击关于显示右键托盘,点击退出显示5总结通过本次试验,我作为组长主要负责对试验流程的控制,对任务的分配工作,我分配到得任务是与组员参与程序的调试与改进。有更深的了解算法的设计思想,并且对java进行了复习。 首先,我们知道操作系统的基本特征是并发与共享。系统允许多个进程并发执行,并且共享系统的软、硬件资源。通过此次的课程设计进一步加深了我对操作系统这门专业课程的认
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全培训标准课件
- 2024中国融通资产管理集团有限公司社会招聘27笔试模拟试题含答案详解ab卷
- 混合式教学团队构建-洞察及研究
- 精神药政策与实施-洞察及研究
- 2025中意宁波生态园控股集团有限公司第一次招聘3人笔试备考题库附答案详解(培优b卷)
- 2024安徽芜湖市繁昌区繁阳镇社区工作者招聘10人考试备考题库附答案详解(培优a卷)
- 企业员工职业健康安全指南
- 车间生产计划排程管理表
- 建筑工地安全管理与食堂承包合同范本
- 初中英语阅读理解策略教学方案
- 《汽车发动机检修》课程标准
- DBJ51T 196-2022 四川省智慧工地建设技术标准
- 审核检查表(ISO13485、GMP、体考指南、QSR820)
- 宿舍教室报修维修登记表
- GB308-2002滚动轴承钢球
- 夹芯彩钢复合板吊顶施工方案
- 剪映入门教程PPT
- 高二物理培优计划
- 高标准农田建设项目施工组织设计 (6)
- 初中英语阅读理解100篇
- 齿轮的设计计算PPT学习教案
评论
0/150
提交评论