首页 > 代码库 > Java开发图片浏览器--记录

Java开发图片浏览器--记录

效果

  技术分享

  技术分享

设计思路

需求分析

  图片浏览,上/下一张,放大缩小等基本功能。可以继续拓展的功能:缩略图、旋转,画笔修改等。此外,缩放实现较为简单,所以会出现失真。设计此类软件功能可参考ACDSee或irfanview等看图软件。

知识点

  1.文件过滤、文件IO:FileFilter

  2.文件对话框:JFileChooser(添加文件过滤功能)

  3.浏览器主界面:JToolBar/JMenuBar/JScrollPane

  4.响应事件:ActionListener/AbstractAction

  5.展示图片:ImageIcon

设计模式

  1.单例:业务处理类并不是无状态的Java对象,而是保存着浏览目录、缩放比例等信息。

  具体代码:

    public static ViewerService getInstance() {        if (null == service) {            service = new ViewerService();        }        return service;    }

 

  2.反射:通过反射创建实例,避免if...else if.....else...,增强程序的可拓展性。

  具体代码:

 1     private Action getAction(String actionName) { 2         try { 3             if (this.action == null) { 4                 Action action = (Action) Class.forName("crazyit.action." + 5                         actionName).newInstance(); 6                 this.action = action; 7             } 8             return this.action; 9         } catch (Exception e) {10             return null;11         }12     }

 

总结

  在实践中深入学习,重要的是在实战过程中仔细研究文档、积累经验,写出性能(算法)优良、设计(模式)合理的程序。

源代码

  https://github.com/zhaoyu1995/CrazyJava/tree/master/ImageViewer

Java开发图片浏览器--记录