swing做的旋转式浏览图片小软件

学java大半年了,近来无聊,今天花了一天时间用swing做了一个图片浏览器,不同以前的用树形结构保存图片名称,这次是采用一个圆形浏览,当然看到的图片是放在一个椭圆周上,当转动图片查看下一张时,图片不是瞬间交换位置,而是有一个沿圆周的移动过程。动态移动过程贴不出来,贴两个静态效果图:
浏览界面效果:
[img]http://dl.iteye.com/upload/attachment/530929/ccfb6867-6773-3d18-a8bf-8237898291c3.jpg[/img]
右键点击某一个图查看原图的效果:
[img]http://dl.iteye.com/upload/attachment/530931/febec3f6-f842-38da-90e6-9290c8052398.jpg[/img]
不知道图片能不能上传。
其实思路还是很简单的,一个继承自Ractangle2D的ImageArea,一个管理众多ImageArea的ImageFrame,一个显示ImageFrame的ImageShow,外加一个JFrame。显示上除了ImageShow面板外,还有一些额外的面板,比如监控内存,显示图片分组,左右旋转的按钮(其实可以不要,因为鼠标点击含有这个功能),打开文件夹按钮等。侦听器方面基本是完全自己根据鼠标的当前位置来判断动作,左转还是右转,转动还是查看原图片,等。
当然,要做到旋转式浏览图片,还是有一些细节的,比如给ImageArea设置zBuffer,以决定画图的先后顺序;旋转时实时更新zBuffer,以准确画出图片的位置和大小;旋转动作另设线程等。 :wink:
还是有很多不足的,最大的就是内存了,,当图片很大时,显示太慢甚至不能显示,我的最大虚拟内存是64M,机器配置是赛扬M1.6G,很老的。我采用的粗劣的方法是,传参给底层ImageArea的是图片名称,要画时再加载图片,可是这样很伤CPU啊!图大时动作就超慢。可是如果传参Image,那就干脆在加载时就溢出了。。。不知道怎么解决才好,本人菜鸟。。 :cry:
有时间再写细节。。
(图片素材来自网络)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值