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

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


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


          網站導航:
           
          主站蜘蛛池模板: 祥云县| 松江区| 大新县| 余庆县| 安国市| 额济纳旗| 蓬安县| 堆龙德庆县| 邯郸市| 洪泽县| 凤阳县| 陵水| 湖口县| 鹤岗市| 富宁县| 丽水市| 太保市| 小金县| 平顺县| 丹寨县| 元氏县| 诏安县| 周至县| 通辽市| 石城县| 南宁市| 新竹市| 锡林浩特市| 沧州市| 醴陵市| 历史| 凌源市| 太仆寺旗| 治县。| 伊宁市| 石阡县| 常宁市| 闽清县| 房产| 任丘市| 理塘县|