为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

桌面精灵毕业设计(论文)word格式

2017-09-27 39页 doc 419KB 42阅读

用户头像

is_597436

暂无简介

举报
桌面精灵毕业设计(论文)word格式桌面精灵毕业设计(论文)word格式 摘 要 三级课题桌面精灵系统,就是为满足需要而开发的,主要包括用户的日历、时钟、生活的琐事、星座奇缘、奇事、精品图书、天气的查询、备忘、日志、计划。从而做事的 效率和了解社会时事发展。本系统总共分为6章,第1章讲述了前言概括,第2章系统 需求分析,第3章数据库表的概要设计,第4章主要讲述了数据库及程序系统的详细设计,第5章讲述了系统运行及其调示,第6章作为总结,主要写自己的心得体会及做课题当中所遇到的问题,及解决办法,还有附录, 本组开发的桌面精灵系统结合实际,合理设置用户的需求并掌...
桌面精灵毕业设计(论文)word格式
桌面精灵毕业设计(论文)word格式 摘 要 三级课桌面精灵系统,就是为满足需要而开发的,主要包括用户的日历、时钟、生活的琐事、星座奇缘、奇事、精品图、天气的查询、备忘、日志、。从而做事的 效率和了解社会时事发展。本系统总共分为6章,第1章讲述了前言概括,第2章系统 需求分析,第3章数据库表的概要设计,第4章主要讲述了数据库及程序系统的详细设计,第5章讲述了系统运行及其调示,第6章作为总结,主要写自己的心得体会及做课题当中所遇到的问题,及解决办法,还有附录, 本组开发的桌面精灵系统结合实际,合理设置用户的需求并掌握的相应信息。综合 地对他们进行数据库的设计、数据库的连接和程序代码的编写,有效的最终在系统运行 中得以实现。通过各个信息模块的设计,可以详细地进行各个小的方面的内容实现,做 到各个信息环节的内容最终都能够在程序中得到实现,使操作成员能明了的了解桌面精 灵这个系统。 关键词:Java ;桌面精灵系统;数据库的设计; 1 .................................................................................................................... 1 1 ............................................................................................................................................. 3 2 ............................................................................................. 4 2.1 功能需求 ......................................................................................................................... 4 2.2编译环境需求 .................................................................................................................. 5 2.3界面需求 .......................................................................................................................... 5 2.4系统主要模块分析 .......................................................................................................... 5 3 .......................................................................................... 7 3.1数据库概要设计 ................................................................................................................................... 7 3.1.1 实体及其属性 ................................................................................................................................... 7 3.1.2 E-R图 ................................................................................................................................................... 7 3.2 系统管理模块设计.............................................................................................................................. 9 4 .............................................................................................. 9 4.1主页面实现如图4-1 .................................................................................................................. 10 4.2数据库表内容及实现 ...................................................................................................................... 12 4.3页面的设计 ......................................................................................................................................... 15 5 ...................................................................................................... 28 6 .............................................................. 错误!未定义书签。36 致谢: ........................................................................................................................... 38 指导教师评语 ......................................................................................................... 39 A ........................................ 错误!未定义书签。40 1.主页面程序 ................................................................................... 40 2.日历程序 ....................................................................................... 41 3.时钟程序 ..................................................................................... 44 4.计划程序 ..................................................................................... 46 5页程序 .......................................................................................... 48 2 1 三级课题桌面精灵系统能够提供用户操作平台,,方便用户对日常生活的管理和增加一些对哲、历、文学等多方面的提高,认识本程序的内部的数据库的结构和调用, 以为程序设计人员和软件维护人员更好的编制、测试程序和维护软件的正确运行提供依 据。数据库设计的第一步是明确数据库的目的,用来记录信息和管理信息,通过各种表 的设计,实现对表的整体调用。 详细设计主要关于经常使用的一些功能,还有一些经常性动作。 本系统属于团队开发系统,每个人负责不同的模块,实现相应的功能,以求得系统 的完整,通过多次的调试和组合并进行相应的修改,并进行相应的交流达成共识在老师 指导下使得系统逐步完善,并进行了近一步的调整使系统更趋向于人性化和合理化。 最后通过写结束语来完成最后的系统文件,还可以另外附上表和程序来完成整个系 统。 3 2 2.1 通过对桌面精灵系统的了解,我们可以更清楚的知道更多的详细信息,知道一些备 忘、计划、日志、天气等信息,从而对自己进行相应的调整,系统应有的功能模块如下: 主页面模块;(独立完成) 计划、日历、时钟;(独立完成) 备忘; 日志; 其它一些功能;(共同参与) 1. 主页面 打开页面以后,可以浏览所有可以实现的功能,而且一目了然,对全局有全面的了 解。 2. 添加日历 可以在点击按钮后,在工作台出现一个可爱的小日历,并且可以找到自己喜欢的日 子,而且一目了然知道每月的天数。使自己的页面更加完美。 3. 备忘 可以对自己近期所要做的事进行一切相应的记录,并且还可以设置是否对相应的事 情提醒否,并且还可以进行相应的修改,还可以对过时的进行相应的删除,完成一切相 应的操作。增、删、改、查都可以增加操作的随意性。 4. 天气查询 天有不测风云,所以出门之时了解天气对自己是福,不是祸,还可以对其它自己喜 爱的地方进行相应的天气查询,从而了解世界。收获更多。 5. 时钟 添加一个时尚而个性的时钟,可以增加桌面的完美性,并且对时间更具体的了解, 从而增加自己的做事效率。 4 6. 计划 对自己将要做的某些事做一些预先的打算,并且再需要的时候还可以进行相应的修 改,从而对自己更有利,并且更势时性。增、删、改、查都可以增加操作的随意性。 7. 日志 记录自己的点点滴滴,并且非常实用,而且对自己的美好的回忆,温存又加深印像。 增、删、改、查都可以增加操作的随意性。 8. 菜单其它项 可以进行相应的选择,连接相应的网页,从而找到自己的需求,了解更多 从而丰富自己的一些常识。 2.2 本系统使用的开发语言是Java,数据库采用的是My SQL,以Windows XP系统为操作平台。 2.3 对于一个好的软件系统有一个友好的界面是很重要的,在设计界面时在给人以美感 的同时,界面还应尽量做的简单、功能清晰明了,最大限度地为用户提供操作方便。 2.4 三级课题桌面精灵系统包括多方面内容,进行相应的操作,并得到相应的信息来满 足需要,对一些信息进行查询、添加、修改、删除,能够更好的了解一些信息。 系统主要模块分析关系图如图2.1所示 5 添L 备 日 查时 精星奇 计 加i 询 品座 日f 天 图奇 e 历 忘 志 气 钟 书 缘 事 划 故 生历音 写 查 小 古 军 经 哲 专 世奇添 检 活史 间异 窍今 日 百现 事 门 天 乐 志 看 说 典 事 济 学 业 态 象 加 索 爱 武 玄 情 侠 幻 6 3 3.1 作为系统的重要重要组成部分,数据库设计需要进行各种实体及他们的属性描述, 这样,在下面的描述详细设计时,在本章可以看到系统设计的大致设计框架。 3.1.1 整个系统各实体可以用以下关系来表示: plan(id,data,time,subjects,details); memos(id,data,time,warns,them,contant); logdata(riqi,shijian,zhuti,neirong); 注:斜字体为表的主键 3.1.2 E-R E-R图分析的目的是确定系统中所有实体、实体的属性及实体之间的联系,为设计 数据库表结构打下基础。画E-R图通常使用自底向上的设计方法,首先对局部视图进行 分析设计,然后再将局部视图合并,消除冲突和冗余,得到系统的总体E-R图。这里两 表不存在联系,所以对每一表进行单一的描述。 计划表如图: 7 sub jec ts id dattimdet ails a e plan 备忘表如图: warntime s them data id cont ant memos 日志表如图: 8 zhshiuti jia n neiriqi ron g logdata 3.2 1. 主页面设计: 通过本组讨论, 认为主页面应具有以下功能: 显示提供的一些功能,日历添加、时钟、备忘、计划、日志、奇事、精品图书等等。 并且通过相应的操作。 2. 备忘、计划、日志没计: 数据库完成相应的增、删、改、查,并且设置相应的方法实现一些共用或者 通用的方法,去解决这些复杂而繁琐的问题。并且具体可以完成某些特定功能。从而使 程序完美而且更加实用。 3.天气、星座奇缘、精品图书、奇事、Life设计: 对于一些时事变化比较快的,我们可以采用网页的方式,打开相应的网页,从而查 找相应的结果。 4.时钟、日历设计: 通过相应的精确判断得到机器的相应时间,从而使页面更加灵活多变,并且可以进 行的时间运算,从而知道不久的日期。 4 我们采取模块化设计思想,通过各模块的不同组合以实现不同的查询功能。最终, 使系统 9 具有内容、信息完整、查询便捷等特点。 4.1主页面实现如图4-1 - 1. init() { (SystemTray.isSupported()) { // 如果操作系统支持托盘 .tray(); } .setSize(300, 320); .setResizable(); // 窗口关闭时触发事件 addWindowListener( WindowAdapter() { windowClosing(WindowEvent e) { System.exit(0); } windowIconified(WindowEvent e) { { tray.add(trayIcon); // 将托盘图标添加到系统的托盘实例中 //setVisible(false); // 使窗口不可视 dispose();//释放由此 Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资源 } (AWTException ex) { ex.printStackTrace(); } 10 } }); } tray() { tray = SystemTray.getSystemTray(); // 获得本操作系统托盘的实例 ImageIcon icon = ImageIcon(getClass().getResource("image/4.jpg")); // 将要显示到托 盘中的图标 PopupMenu pop = PopupMenu(); // 构造一个右键弹出式菜单 MenuItem show = MenuItem("打开程序(s)"); MenuItem exit = MenuItem("退出程序(x)"); pop.add(show); pop.add(exit); trayIcon = TrayIcon(icon.getImage(), "桌面精灵", pop); /** * 添加鼠标监听器,当鼠标在托盘图标上双击时,默认显示窗口 */ trayIcon.addMouseListener( MouseAdapter() { mouseClicked(MouseEvent e) { (e.getClickCount() == 2) { // 鼠标双击 tray.remove(trayIcon); // 从系统的托盘实例中移除托盘图标 setExtendedState(JFrame. NORMAL); setVisible(); // 显示窗口 toFront(); }}}); show.addActionListener( ActionListener() { // 点击“显示窗口”菜单后将窗口显示出来 actionPerformed(ActionEvent e) { tray.remove(trayIcon); // 从系统的托盘实例中移除托盘图标 setExtendedState(JFrame.NORMAL); setVisible(); // 显示窗口 toFront(); } }); exit.addActionListener( ActionListener() { // 点击“退出演示”菜单后退出程序 actionPerformed(ActionEvent e) { System.exit(0); // 退出程序 } });} . planLogMenuBar1 = JMenuBar(); 11 setJMenuBar(planLogMenuBar1); { planMenu1 = JMenu(); planLogMenuBar1.add(planMenu1); planMenu1.addSeparator(); planMenu1.setText("计划"); { planMenuItemAdd = JMenuItem(); planMenu1.add(planMenuItemAdd); planMenuItemAdd.setText("\u6dfb\u3000\u52a0"); planMenuItemAdd.addActionListener( ActionListener(){ actionPerformed(ActionEvent e){ append.main(); } }); } 其它菜单里的内容如上一样的加入。 . { calendarButton = JButton(); calendarButton.setBackground(color); getContentPane().add(calendarButton); calendarButton.setText("\u6dfb\u52a0\u65e5\u5386(C)"); calendarButton.setMnemonic('c'); calendarButton.setBounds(17, 46, 110, 40); calendarButton.addActionListener( ActionListener(){ actionPerformed(ActionEvent e){ calendar.main(); } }); } 其它按钮与此一样。 4. 根据上面所说实体与属性,基于功能的分析,可为考虑系统创建库表以便 于应用和维护系统,将其中的数据库表设计如下: 1.计划表设计如: 12 4-2-1 2.备忘表设计如: 4-2-2 3.日志表设计如: 4-2-3 数据库核心代码: { { Class.forName("com.mysql.jdbc.Driver"); System.out.println("forName"); } (ClassNotFoundException e) { // 自动生成 catch 块 e.printStackTrace(); } } Connection getConnection(){ { Connection conn = ; conn=DriverManager.getConnection(url,user,password); } (SQLException e) { // 自动生成 catch 块 System.out.println("返回Connection错误"); e.printStackTrace(); } System.out.println("Hello"); ; } 13 free(Connection conn,Statement st,ResultSet re){ { re.close(); } (SQLException e) { // 自动生成 catch 块 e.printStackTrace(); } { { st.close(); } (SQLException e) { e.printStackTrace(); } { { conn.close(); } (SQLException e) { e.printStackTrace(); } } } } free(Connection conn,Statement st){ { st.close(); } (SQLException e) { e.printStackTrace(); } { { conn.close(); } (SQLException e) { e.printStackTrace(); } } } free(Connection conn,PreparedStatement pr){ { pr.close(); } (SQLException e) { e.printStackTrace(); } { 14 { conn.close(); } (SQLException e) { e.printStackTrace(); } } } free(Connection conn,PreparedStatement pr,ResultSet re){ { re.close(); } (SQLException e) { e.printStackTrace(); } { { pr.close(); } (SQLException e) { e.printStackTrace(); } { { conn.close(); } (SQLException e) { // 自动生成 catch 块 e.printStackTrace(); } } 4. . 15 核心代码: static { Calendar today = Calendar.getInstance(); YEAR = year = today.get(Calendar.YEAR); MONTH = month = today.get(Calendar.MONTH) + 1; DAY = today.get(Calendar.DAY_OF_MONTH); ToDiecedLeapYear(); } static void ToDiecedLeapYear(){ if (year % 100 == 0) { 16 daysOfMonth[2] = (year % 400 == 0 ? 29 : 28); } else { daysOfMonth[2] = (year % 4 == 0 ? 29 : 28); } } DateFormat dateFormat = DateFormat.getDateInstance();//日期/时间格式 try { dateFormat.parse(year + "-" + month + "-1"); } catch (ParseException e) { e.printStackTrace(); } Calendar firstDayOfMonth = dateFormat.getCalendar();//得到第一天 int dayOfWeek = firstDayOfMonth.get(Calendar.DAY_OF_WEEK) - 1; System.out.println(dayOfWeek); if (dayOfWeek == 0) { dayOfWeek = 7; } int lastMonthDays = 31; if (month > 2) { lastMonthDays = daysOfMonth[month - 1]; } System.out.println(lastMonthDays - dayOfWeek+2); for (int day = lastMonthDays - dayOfWeek + 2; day <= lastMonthDays; day++){ button = new CalendarButton(day); button.setEnabled(false);//设置按钮不能被调用 tableModel.setValueAt(button,row,col); if (col == 6) { row++; col = 0; } else { col++; } } // 当月 for (int day = 1; day <= daysOfMonth[month]; day++) { button = new CalendarButton(day); if (col > 4) { if (col == 5) { button.setForeground(Color.GREEN); } else { button.setForeground(Color.orange); } } 17 if (day == DAY) { if (year == YEAR && month == MONTH) { button.setForeground(Color.RED); } } tableModel.setValueAt(button, row, col); if (col == 6) { row++; col = 0; } else { col++; } } // 下一月 int nextMonthDays = 42 - (row * 7 + col); for (int day = 1; day <= nextMonthDays; day++) { button = new CalendarButton(day); button.setEnabled(false); tableModel.setValueAt(button, row, col); if (col == 6) { row++; col = 0; } else { col++; } } } 核心代码: { Thread.sleep(1000); seconds++; (seconds < 10){ (minuter < 10 ){ (hour < 10){ clockLabel.setText("0"+hour+":"+"0"+minuter+":"+"0"+seconds); clockLabel.setBackground(Color.red); } 18 { clockLabel.setText(hour+":"+"0"+minuter+":"+"0"+seconds); clockLabel.setBackground(Color.red); } } (hour < 10){ clockLabel.setText("0"+hour+":"+minuter+":"+"0"+seconds); clockLabel.setBackground(Color.red); } { clockLabel.setText(hour+":"+minuter+":"+"0"+seconds); clockLabel.setBackground(Color.); red } } { (seconds>=60){ seconds =0; minuter++; (minuter<10){ (hour < 10){ clockLabel.setText("0"+hour+":"+"0"+minuter+":"+"0"+seconds); clockLabel.setBackground(Color.red); } { clockLabel.setText(hour+":"+"0"+minuter+":"+"0"+seconds); clockLabel.setBackground(Color.red); } } (minuter>=60){ minuter = 0; hour++; (hour < 10){ clockLabel.setText("0"+hour+":"+"0"+minuter+":"+"0"+seconds); clockLabel.setBackground(Color.); red } (hour>=24){ hour=0; clockLabel.setText("0"+hour+":"+"0"+minuter+":"+"0"+seconds); clockLabel.setBackground(Color.); red } { clockLabel.setText(hour+":"+"0"+minuter+":"+"0"+seconds); 19 clockLabel.setBackground(Color.red); } } (hour < 10){ clockLabel.setText("0"+hour+":"+minuter+":"+"0"+seconds); clockLabel.setBackground(Color.red); } { clockLabel.setText(hour+":"+minuter+":"+"0"+seconds); clockLabel.setBackground(Color.); red } } (minuter < 10){ (hour < 10){ clockLabel.setText("0"+hour+":"+"0"+minuter+":"+seconds); clockLabel.setBackground(Color.red); } { clockLabel.setText(hour+":"+"0"+minuter+":"+seconds); clockLabel.setBackground(Color.red); } } (hour < 10){ clockLabel.setText("0"+hour+":"+minuter+":"+seconds); clockLabel.setBackground(Color.red); } { clockLabel.setText(hour+":"+minuter+":"+seconds); clockLabel.setBackground(Color.red); } } } (InterruptedException e) { // 自动生成 catch 块 e.printStackTrace(); JOptionPane.showMessageDialog(,"时钟错误"); } 20 通过调用网络资源 核心代码: { Runtime.getRuntime().exec( "cmd.exe /c start iexplore "+shareWeb); } (IOException ex) { JOptionPane.showMessageDialog(,"网页出错"); } . 5.1添加: 21 调用数据库并把相应的数据进行处理; 核心代码: String arg0 = "insert into plan(date,time,subjects,details) values(?,?,?,?)" ; Connection conn = PlanData.getConnection(); PreparedStatement pr = ; { pr = conn.prepareStatement(arg0); pr.setString(1,dX.getDate()); pr.setString(2,dX.getTime()); pr.setString(3,dX.getTextName()); pr.setString(4,dX.getTextArea()); pr.executeUpdate(); ; } (SQLException e) { // 自动生成 catch 块 e.printStackTrace(); }{ PlanData. (conn,pr); free } ; } 22 5.2检索: 对检索到的数据进行相应的操作: 核心代码: public PlanObject find(String textName){ String arg0 = "select * from plan where subjects = ?"; Connection conn = PlanData.getConnection(); PreparedStatement pr = ; ResultSet re = ; PlanObject dX = PlanObject(); { pr = conn.prepareStatement(arg0); pr.setString(1,textName); re = pr.executeQuery(); (re.next()){ System.out.println("Next"); = re.getInt("id"); number dX.setDate(re.getString(2)); dX.setTime(re.getString(3)); dX.setTextName(re.getString(4)); dX.setTextArea(re.getString(5)); 23 dX; } } (SQLException e) { // 自动生成 catch 块 e.printStackTrace(); }{ PlanData.free(conn,pr,re); } ; } deletedData(String textName){ String arg0 = "delete from plan where subjects = ?" ; Connection conn = PlanData.(); getConnectionPreparedStatement pr = ; PlanObject dX = PlanObject(); { pr = conn.prepareStatement(arg0); pr.setString(1,textName); pr.executeUpdate(); } (SQLException e) { e.printStackTrace(); }{ PlanData.free(conn,pr); } } deletedData(){ String arg0 = "delete from plan where id = ?" ; Connection conn = PlanData.getConnection(); PreparedStatement pr = ; { pr = conn.prepareStatement(arg0); pr.setInt(1,number); pr.executeUpdate(); } (SQLException e) { e.printStackTrace(); }{ PlanData.(conn,pr); free } } update(PlanObject dX){ 24 String arg0 = "update plan set date = ? , time = ?, subjects = ?,details = ? where id = ?" ; Connection conn = PlanData.getConnection(); PreparedStatement pr = ; { pr = conn.prepareStatement(arg0); pr.setString(1, dX.getDate()); pr.setString(2,dX.getTime()); pr.setString(3, dX.getTextName()); pr.setString(4,dX.getTextArea()); pr.setInt(5,); number pr.executeUpdate(); } (SQLException e) { // 自动生成 catch 块 e.printStackTrace(); }{ PlanData.free(conn,pr); } } 25 8ife 26 27 以上是对网页过行相应的操作不在一一列举 核心代码: { Runtime.getRuntime().exec( "cmd.exe /c start iexplore "+shareWeb); } (IOException ex) { JOptionPane.showMessageDialog(,"网页出错"); } 5 通过系统的运行,可以适当地对信息进行各种操作: 首先进入主页面,然后进行相应的操作,并对操作做出相应的回应。 28 29 30 如果主题为空出现提示: 如果计划内容为空: 31 32 以上只对部分功能进行调试,仅供参考 33
/
本文档为【桌面精灵毕业设计(论文)word格式】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索