SunKing's Blog

          留言簿(42)

          Java鏈

          友鏈

          閱讀排行榜

          評論排行榜

          [原創]Java實現不規則窗體(JDK1.4+JNI)

          效果圖:
          1.gif

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

           

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

           

          CaptureTest1 の実行例

           

              我自己也做了一個不規則窗體的小軟件,自我感覺良好,炫耀一下。:D

           
          請注意:
              這是一個非開源軟件,請不要向我要源碼,謝謝。
           
          申明:
              本軟件為非開源軟件,僅作學習用途。
              未經授權禁止轉載、摘編、復制或建立鏡像。
              如有違反,追究法律責任。
              作者:羅時民(SunKing)
              Email:SunKingXie@hotmail.com
          實現功能:
              任何不規則透明圖片都可作為窗體的外形。
          原理:
              Java 調用 JNI。具體一點就是Java類中的native方法調用VC++實現。
          重點:
              VC中調用SetWindowRgn方法可使窗體按給定的HRGN參數繪制窗體。
           
          運行環境:
              在正常安裝JDK1.4以上版本的機器上,解壓下載的文件得到IrregularJFrame.exe和IrregularJFrame.dll兩個文件,將這兩個文件放在同一目錄下。運行IrregularJFrame.exe

          下載:

          IrregularJFrame.zip

          posted on 2005-08-16 18:03 SunKing's Blog 閱讀(3498) 評論(9)  編輯  收藏

          評論

          # re: [原創]Java實現不規則窗體(JDK1.4+JNI) 2005-10-31 11:26 任曉煒

          框架是否用c制作的? 如果不是的話能不能指點一下,我想多學點!  回復  更多評論   

          # re: [原創]Java實現不規則窗體(JDK1.4+JNI) 2005-10-31 11:28 sunking

          對的, 是用C做的JNI
          重點:
          VC中調用SetWindowRgn方法可使窗體按給定的HRGN參數繪制窗體。  回復  更多評論   

          # re: [原創]Java實現不規則窗體(JDK1.4+JNI) 2005-12-25 16:15 曹凱

          你能不能說一下用C怎么來做DLL呢?具體到你的這個程序啊!我真的想學!謝謝!
          我的郵箱:caokai1818@sina.com  回復  更多評論   

          # re: [原創]Java實現不規則窗體(JDK1.4+JNI) 2006-02-08 15:23 leave

          Sunking 很多東西都是通過jni來實現的。不過這樣實現會讓程序的可移植性降低。  回復  更多評論   

          # re: [原創]Java實現不規則窗體(JDK1.4+JNI) 2006-02-08 15:28 sunking

          對的, 是會有移植性問題的.
          這個程序只能運行在WINDOWS中.
          畢竟,我不能象SUN那樣寫出適合各種操作系統的native實現.我也不懂linux上如何做這件事,呵呵, 不好意思.  回復  更多評論   

          # re: [原創]Java實現不規則窗體(JDK1.4+JNI) 2006-05-27 10:39 雷濤

          很不錯的一個實現方式,不知作者還有沒有其它思路呢?比如直接用jdk類庫實現,那樣可以比較方便移植,謝謝!  回復  更多評論   

          # re: [原創]Java實現不規則窗體(JDK1.4+JNI) 2006-11-24 14:38 redhat

          為什么要用dll文件呢.可以在unix下運行嗎?  回復  更多評論   

          # re: [原創]Java實現不規則窗體(JDK1.4+JNI) 2007-09-08 11:46 njren

          JNI+MFC
          還可以實現透明窗體呢!  回復  更多評論   

          # re: [原創]Java實現不規則窗體(JDK1.4+JNI) 2007-12-28 19:29 guoke

          哥們,有源碼嗎?  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 商水县| 耿马| 多伦县| 凉城县| 莒南县| 阿勒泰市| 武穴市| 九寨沟县| 改则县| 抚远县| 正定县| 凤凰县| 封开县| 湘乡市| 凤阳县| 武夷山市| 昌江| 商南县| 余江县| 昌图县| 龙川县| 句容市| 临沧市| 苏尼特左旗| 临安市| 慈利县| 甘南县| 裕民县| 平顺县| 肥城市| 宝鸡市| 瓦房店市| 礼泉县| 福贡县| 江阴市| 邢台市| 杨浦区| 尼勒克县| 石楼县| 天祝| 天镇县|