- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 图片浏览器
第3章 图片浏览器
3.1 图片浏览器概述
相信使用Window操作系统的大多数用户,都使用过 Windows 的图片浏览器,或者是功能更强大
与复杂的ACDSee 图片浏览器(这个还支持编辑图片),图片浏览器最基本的功能是能浏览一个目录中
的所有图片,并可以点击浏览上一张图片或者下一张图片,还有对图片放大与缩小,或者翻转图片等操
作,在这里,实现了图片的浏览功能,导航功能(下一张、上一张),放大缩小功能。
本章将实现一个最简单的图片浏览器,包括了打开图片、放大与缩小图片、查看上一张和下一张图
片等功能,图片浏览器的最终效果如图3.1 所示。
图 3.1 图片浏览器
·2 · 第3章 图片浏览器
3.2 创建图片浏览器的相关对象
我们首先需要创建图片浏览器的相关对象。我们先创建图片浏览器的界面对象ViewerFrame,然后
在该类中,我们为菜单、按钮加了事件监听器,所以定义了一个继承AbstractAction 的类ViewerAction
来响应这些动作。在 Action 中响应动作,就到处理具体逻辑的步骤,我们把所有的逻辑处理放
ViewerService类中,ViewerService 中包括打开图片、上一张、下一张、放大和缩小图片等功能,为了
程序更好的解耦合,我们可以把具体的某些业务处理放置到独立的类中进行处理。
除了以上所说的几个类,由于我们这个程序有打开图片的操作,所以需要一个文件过滤器(只能选
择图片类型的文件),所以定义了一个继承JFileChooser 的类ViewChooser,这个类里面定义了自己的
文件过滤器。本章中所涉及的对象及它们之间的关系如图3.2所示。
图 3.2 图片浏览器类图
本章程序的功能较为简单,因此所涉及的对象也并不复杂,只有简单的五个对象。
第3 章 图片浏览器 ·3 ·
3.2.1 文件过滤器
如果要使文件对话框实现文件过滤功能,就需要结合 FileFilter 类来进行文件操作,文件过滤器是
FileFilter 的一个继承,也是文件对话框的内部类,里面重写了FileFilter 的accept 与getDescription 方
法:
boolean accept( File f ) ,判断文件是否属于图片类型。
String getDescription() ,获取过滤器的描述。
文件过滤器主要在用户打开图片时使用,当用户进行了图片选择后,就可以对用户所选择的文件进
行验证。当用户打开文件选择时,我们就可以对所有的文件进行一次过滤,文件选择器中只可以选择我
们所定义 的图片文件,那么其他的文件将不会被显示。在本章 中,文件过滤器是文件对话框类
(ViewerFileChooser )的一个内部类(MyFileFilter )。
3.2.2 文件对话框
Java 文件对话框的实现比较简单,只要使用JFileChooser 类并提供一个自己的构造器即可。这里
的文件对话框对象是JFileChooser 类的子类,目的是为了加入在3.2.1 中定义的文件过滤器:
void addFilter() ,为这个文件对话框增加过滤器。
该对象中的addFilter 方法主要用于向文件对话框加入文件过滤器,例如我们需要只显示.bmp 的文
件,那么可以在addFilter 方法中使用以下代码实现:
this.addChoosableFileFilter(new MyFileFilter(new String[] { .BMP },
BMP (*.BMP)));
在文件对话框的addFilter 方法加入以上的代码后,那么用户将不能看到.bmp 的文件,并且在“文
件类型”的下拉中也只能选择.bmp ,效果如图 3.3 所示。在本章中,文件对话框对应的是
ViewerFileChoose
原创力文档


文档评论(0)