




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录1 设计背景.22 需求分析.2 1.采取的形式.2 2.需要实现的功能.23 概要设计.2 1.功能说明.2 2.布局说明.2 3.主要工具包.2 4.程序主要流程图.24 系统功能模块结构.4 1.背景音乐模块.4 2.图片信息说明模块.4 3.自动播放模块.4 4.随机播放模块.5 5.手动播放模块.5 6.滚动字模块.65 系统实现.7 1.用户界面设计.7 2.导入图片功能设计.8 3.导出图片功能设计.9 4.延时程序设计.9 5.其他设计.106 心得体会.107 参考文献.10 一设计背景电子相册是现在时下很流行的一种网络元素,它可以应用于很多的领域。其以静态照片为素材,配合动感的背景、字幕等视频处理的特殊效果,配上音乐就可制作成电子相册。制作好的电子相册可以在电脑上,各类影碟机上,以及手机和MP4里都能观看。当然,如果考虑到长期保存的话,也可以保存在硬盘上,也便于随时调阅、欣赏,永久保存。二需求分析1.采用的形式为:java application2.需要实现的主要功能是:(1)播放方式设置,需要要实现随机播放照片以及循环播放照片等功能。(2)图片文件导入和导出()功能。(3)附加背景音乐。(4)图片评论,可以添加图片的相关说明。三概要设计3.1功能说明该程序可以实现相片浏览、评论相片、背景音乐播放、导入相片以及按次序导出相片等功能。3.2 布局说明由于本程序采用的是Java swing编程,所以采用的是布局为:javax.swing.GroupLayout,即群组布局。3.3 主要的工具包该程序中用到如下几个工具包,为:java.applet,java.awt,java.io,java.util以及javax.imageio和javax.swing。3.4程序主要流程图注:该流程图中部分是根据用户可能出现的操作进行的。点击随机按钮是关闭正在运行的线程调用随机播放线程否显示图片点击自动按钮是关闭正在运行的线程调用自动播放线程否显示图片否点击上一张按钮是关闭正在运行的线程查找到当前图片否是是否继续添加图片编辑图片说明打开图片文件播放背景音乐开始运行程序进入电子相册平台点击下一张按钮是关闭正在运行的线程查找到当前图片是否有线程在运行是否有线程在运行是否有线程在运行否是否有线程在运行是否保存图片显示下一张图片显示上一张图片是导出图片否是否退出程序tuichuchengxu否是结束程序运行四系统功能模块结构该电子相册程序分为背景音乐播放模块、图片信息说明模块、自动播放模块、循环播放模块、手动播放模块、滚动字这六个模块。 4.1 背景音乐模块(1)业务描述:自动播放音乐。(2)业务说明:当用户打开程序的时候,程序自动为用户循环播放背景音乐,直至用户退出程序。让用户在欣赏图片的美感时,也能活的听觉上的震撼。(3) 程序代码:try .URL musicPath = MainForm.class.getResource(/music/yinyue.wav);/获取背景音乐路径AudioClip music = java.applet.Applet.newAudioClip(musicPath);music.loop();/循环播放 catch (Exception ef) javax.swing.JOptionPane.showMessageDialog(null, 音乐播放失败);开始点击“打开”按钮选择图片添加图片信息点击“确定”按钮回到主窗口结束 4.2 图片信息说明模块(1) 业务描述:添加用户所要添加的关于图片的信息。(2) 业务流程:当用户点击“打开”按钮后,选择所要浏览的图片后,会跳出一个新的窗口。在“添加你对照片的描述”文本框上,删除掉“添加你对照片的描述”,并写入你对图片的描述。再点击“确定”按钮即可在主窗口的上方看见相对应的文字。(3) 输入数据:由用户输入数据。4.3 自动播放模块(1)业务描述:自动循环播放所导入的图片。(2)业务流程:i=-1YesNoi=i+1开始i=0editPhoto获得第i个图像的信息在主窗口显示editPhotoi=photoList-1重绘窗口延迟1秒是否结束线程Yes结束NoiphotoListYesNo 4.4 随机播放模块(1)业务描述:随机循环播放所导入的图片。(2)业务流程:开始i=0editPhoto获得第m个图像的信息在主窗口显示editPhoto重绘窗口延迟1秒是否结束线程Yes结束NoiphotoListYesNom=0photoList的随机整数 4.5 手动播放模块(1)业务描述:手动播放所导入的图片。(2)业务流程:在主窗口显示editPhoto结束重绘窗口延迟1秒YesYes关闭线程Noi=i+1/i-1i=photoList-1NophotoList(i)是否是当前图片Yes是否有线程i=0i=-0i=i+1NoeditPhoto获得第i个图的信息开始i=photoListYes4.6滚动字模块(1) 业务描述:滚动显示文字(2) 流程代码函数: class ShowInfo extends Thread/滚动显示文字String str =null;void setShowInfo()if(phflag = false) str = photoInfo.getText();else str=editPhoto.getPhoto();while(str.length()120) str=str+ ;void cycle()char now=0;chars=new charstr.length(); for(int m=0;mstr.length();m+) sm=str.charAt(m);for(int n=0;nstr.length();n+)if(n=0) now=sn;else char t=0;t=sn;sn=now;now=t;s0=now;String t=new String(s);str=t;public void run()cycle();photoInfo.setText(str);delay(100);repaint(); 五系统实现5.1用户界面设计jPanel1 = new javax.swing.JPanel()/背景图片模块 public void paintComponent(Graphics g) ImageIcon img=new ImageIcon(G:/imagesource/login/login1.jpg); g.drawImage(img.getImage(),0,0,getSize().width,getSize().height,null); ;5.2 导入图片功能设计private void loadActionPerformed(java.awt.event.ActionEvent evt) / 导入图片文件(打开)模块:int vx = jf.showOpenDialog(null);/jf是javax.swing.JFileChooserif (vx != jf.APPROVE_OPTION)/按取消键就返回窗口return;File file = jf.getSelectedFile();PhotoInfo pi = new PhotoInfo();ImageIcon image = new ImageIcon(file.toString();AddInfo dialog = new AddInfo(this, true, image);dialog.setVisible(true);pi.setImage(image);pi.setPhoto();photoList.add(pi);/在列表中添加图片phflag = true;editInfo = pi;/获得图片信息photoInfo.setText(editInfo.getPhoto();/显示图片信息repaint();/重绘窗口5.3 导出图片功能设计 private void saveActionPerformed(java.awt.event.ActionEvent evt)/ 导出图片文件(保存)模块:for(int i=0;i i) stop = false;/判断延迟是否达到定义的时间 5.5其他设计“上一张”,“下一张”,“自动”,“随机”等设计如上面流程图所示。六心得体会 经历了2个星期的开发,我从前觉得以为只要程序编得能够好就行,很少有意识的训练自己对整个系统的设计。而且每次课程题目都是急于编码,根本不从整体考虑系统和设计。显然,这种方法是不可取得,若是一个小程序还可以,但是涉及到稍微大一些的项目时,就会出现顾此失彼,多次返工,最后会心有余而力不足,使整个系统以失败结束。在这次系统设计中我深刻体会到以下三点:(1)需求分析是以后设计和实现能顺利进行的保证和依据。需求分析必须认真做好,为以后设计和实现奠定好的基础。(2)不要急于做总体设计,也不要忽略总体设计的重要性。在做总体设计之前一定要对所做系统有个清楚地认识,也要对开发系统得技术尤其是关键技术有清楚的认识,然后选择设计模式或设计思想,这样可以避免把系统复杂化或过于简单化。(3)整体规划或总体设计不必过于注重实现细节。在做总体设计时不要一味的把某个功能具体到实现,不要老是把精力放在怎么
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电器管家延保服务合同2篇
- 古代教师考试题目及答案
- 2025年协同平台考试题目及答案
- 楚雄市重点中学2026届九年级英语第一学期期末经典试题含解析
- 满族文化竞赛试题及答案
- 空分竞赛试题及答案
- 安全驾控培训师课件
- 教师招聘之《小学教师招聘》押题模拟有完整答案详解
- 稻草人阅读测试题及答案
- 论文交流课件
- 美世-职位说明书与任职资格管理
- 苏科版生物七年级上册全套课件
- 第二章:保险的性质和功能
- 《危险化学品重点县专家指导服务手册》
- 中医学概论智慧树知到答案章节测试2023年安徽中医药大学
- 中华全国律师协会律师办理企业破产法律业务操作指引
- GB/T 5218-1999合金弹簧钢丝
- GB/T 19812.5-2019塑料节水灌溉器材第5部分:地埋式滴灌管
- 湘教版六年级下册科学实验报告单 (湘教版)
- 水文地质学基础课件
- 《科学思维与科学方法论》第二章 科学思维的逻辑方法
评论
0/150
提交评论