效果圖:

很多軟件如:QQ,Winamp等等都使用到各種不同規(guī)則的窗體,那么,在JAVA中如何實(shí)現(xiàn)不規(guī)則窗體呢?
Java這方面的文章或代碼是少之又少,在JavaWorld上有一篇文章實(shí)現(xiàn)了JDK1.3環(huán)境下顯示笑臉的窗體(如下圖),嚴(yán)格來說此文實(shí)現(xiàn)的是Canvas本地繪制。

另外我還找到一個(gè)小日本的介紹透明Frame的網(wǎng)站,上面介紹他們實(shí)現(xiàn)的不規(guī)則窗體(如下圖,其實(shí)他們實(shí)現(xiàn)的是透明窗體),他們用Robot.createScreenCapture的方法截屏然后畫在窗體上,甚至用到線程來循環(huán)截屏, 可以說是笨得不行。沒辦法,就小日本那智商也只能做到這種地步,對它們也不能要求那么高。

我自己也做了一個(gè)不規(guī)則窗體的小軟件,自我感覺良好,炫耀一下。:D
請注意:
這是一個(gè)非開源軟件,請不要向我要源碼,謝謝。
申明:
本軟件為非開源軟件,僅作學(xué)習(xí)用途。
未經(jīng)授權(quán)禁止轉(zhuǎn)載、摘編、復(fù)制或建立鏡像。
如有違反,追究法律責(zé)任。
作者:羅時(shí)民(SunKing)
Email:SunKingXie@hotmail.com
實(shí)現(xiàn)功能:
任何不規(guī)則透明圖片都可作為窗體的外形。
原理:
Java 調(diào)用 JNI。具體一點(diǎn)就是Java類中的native方法調(diào)用VC++實(shí)現(xiàn)。
重點(diǎn):
VC中調(diào)用SetWindowRgn方法可使窗體按給定的HRGN參數(shù)繪制窗體。
運(yùn)行環(huán)境:
在正常安裝JDK1.4以上版本的機(jī)器上,解壓下載的文件得到IrregularJFrame.exe和IrregularJFrame.dll兩個(gè)文件,將這兩個(gè)文件放在同一目錄下。運(yùn)行IrregularJFrame.exe
下載:
IrregularJFrame.zip