淡入淡出式弹出Popup窗口

从前面几篇文章的评论可以看出大家对自定义组件很感兴趣,今天就继续前面的话题,讲述弹出窗口另一种动画效果的实现方法。
    《换一种方式弹出Swing Popup》中讲述了使用自定义PopupFactory实现了滚动式弹出窗口的例子,实际上可根据相似的原理实现淡入淡出式弹出窗口。在Windows中设置淡入淡出式的弹出窗口的位置和设置滚动式弹出窗口的地方相同,都在桌面属性->外观->效果中选取使用淡入淡出式即可。
      实现淡入淡出式的弹出窗口要结合Java提供的Robot抓屏接口和透明图像处理技术。在自定义PopupFactory的getPopup中,首先要计算弹出窗口的位置和尺寸,并使用java.awt.Robot. createScreenCapture方法抓取弹出窗口要覆盖屏幕区域的图像。然后自定义一个动画渲染组件封装要弹出的组件和背景图像,该组件使用透明的方式将屏幕背景和内容组件图像叠加并显示出来,从而达到淡入淡出的效果。
        我在滚动式Popup那个演示的代码基础上,修改了一下使其实现这种淡出淡入效果,下面是这个演示运行时抓取的屏幕。菜单正逐渐显示出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值