效果图:
很多软件如:QQ,Winamp等等都使用到各种不同规则的窗体,那么,在JAVA中如何实现不规则窗体呢?
Java这方面的文章或代码是少之又少,在JavaWorld上有一篇文章实现了JDK1.3环境下显示笑脸的窗体(如下图),严格来说此文实现的是Canvas本地绘制。
另外我还找到一个小日本的介绍透明Frame的网站,上面介绍他们实现的不规则窗体(如下图,其实他们实现的是透明窗体),他们用Robot.createScreenCapture的方法截屏然后画在窗体上,甚至用到线程来循环截屏, 可以说是笨得不行。没办法,就小日本那智商也只能做到这种地步,对它们也不能要求那么高。
我自己也做了一个不规则窗体的小软件,自我感觉良好,炫耀一下。:D
请注意:
这是一个非开源软件,请不要向我要源码,谢谢。
申明:
本软件为非开源软件,仅作学习用途。
未经授权禁止转载、摘编、复制或建立镜像。
如有违反,追究法律责任。
作者:罗时民(SunKing)
Email:SunKingXie@hotmail.com
实现功能:
任何不规则透明图片都可作为窗体的外形。
原理:
Java 调用 JNI。具体一点就是Java类中的native方法调用VC++实现。
重点:
VC中调用SetWindowRgn方法可使窗体按给定的HRGN参数绘制窗体。
运行环境:
在正常安装JDK1.4以上版本的机器上,解压下载的文件得到IrregularJFrame.exe和IrregularJFrame.dll两个文件,将这两个文件放在同一目录下。运行IrregularJFrame.exe
下载:
IrregularJFrame.zip