隨筆-46  評論-64  文章-2  trackbacks-0
           
               摘要: 原文地址:? http://java.sun.com/docs/books/tutorial/rmi/index.html?譯者:jht 歡迎大家對翻譯中存在的問題批判指正,謝謝大家!從Word粘帖過來之后格式有點(diǎn)問題,所以把word文檔傳上來了,點(diǎn)擊下載 RMI ? ...  閱讀全文
          posted @ 2007-05-09 16:59 jht 閱讀(2077) | 評論 (0)編輯 收藏
               摘要: 一、一些概念 ????WebService技術(shù)現(xiàn)在幾乎無處不在,以前玩.NET的時候最開始接觸這個概念,C#語言對WebService近似原生性的支持使我們用C#可以非常迅速的開發(fā)出一個WebService,沒有任何復(fù)雜煩擾的步驟。????后來沒有機(jī)會再在.Net Framework上面開發(fā),轉(zhuǎn)投了Java的懷抱,想要開發(fā)出一個WebService感覺比較,搞一堆命令生成一堆...  閱讀全文
          posted @ 2007-03-31 21:27 jht 閱讀(3700) | 評論 (3)編輯 收藏
               摘要: 今天稍微花了點(diǎn)時間實(shí)現(xiàn)了一個java的屏幕截圖程序,功能簡單,支持全屏截圖和選擇截圖用JSmooth做了個.exe程序,直接運(yùn)行就可以了,附:程序下載 http://www.aygfsteel.com/Files/jht/MyScreenSnap.zipJRE1.4版本的可執(zhí)行程序 http://www.aygfsteel.com/Files/jht/MyScreenSnap_jre1.4.zip關(guān)鍵...  閱讀全文
          posted @ 2007-03-29 19:19 jht 閱讀(1703) | 評論 (5)編輯 收藏
          這個技巧比較Cool也比較基礎(chǔ)常用,關(guān)鍵技術(shù)是使用圖像重新繪制組件
          看下面demo的代碼
          import?java.awt.Insets;
          import?javax.swing.ImageIcon;
          import?javax.swing.JButton;

          public?class?ImageButton?extends?JButton?{

          ????
          private?static?final?long?serialVersionUID?=?7760427126786950870L;

          ????
          public?ImageButton(ImageIcon?icon)?{
          ????????setSize(icon.getImage().getWidth(
          null),icon.getImage().getHeight(null));
          ????????setIcon(icon);
          ????????setMargin(
          new?Insets(0,0,0,0));
          ????????setIconTextGap(
          0);
          ????????setBorderPainted(
          false);
          ????????setBorder(
          null);
          ????????setText(
          null);

          ????}

          }


          稍微要解釋一下的是講button的邊框都設(shè)置成為0,還有邊框的重繪設(shè)置false,我們可以用不同的貼圖表示按鈕被選中等的狀態(tài)

          使用這個組件的demoCode

          ????????ImageButton?button?=?new?ImageButton("images/*.png");
          ????????button.setPressedIcon(
          new?ImageIcon("images/*.png"));
          ????????button.setRolloverIcon(
          new?ImageIcon("images/*.png"));
          ????????button.setSelectedIcon(
          new?ImageIcon("images/*.png"));
          ????????button.setRolloverSelectedIcon(
          new?ImageIcon("images/*.png"));
          ????????button.setDisabledIcon(
          new?ImageIcon("images/*.png"));
          ????????button.setDisabledSelectedIcon(
          new?ImageIcon("images/*.png"));

          這個Hack要顯示效果好,關(guān)鍵就在于貼圖了,可見美工很重要。

          我準(zhǔn)備每天Hack一篇

          更多內(nèi)容,可以看Swing Hacks


          參考資料:
          ?"Swing Hacks by Joshua Marinacci and Chris Adamson. Copyright 2005 O'Reilly Media, Inc., 0-596-00907-0."
          posted @ 2007-03-28 23:57 jht 閱讀(527) | 評論 (0)編輯 收藏
          It's easy to create a frame without title bar.Just use this method setUndecorated(true)

          JFrame?frame?=?new?JFrame();
          frame.setUndecorated(
          true);
          frame.setSize(
          500,?200);
          frame.show();
          posted @ 2007-03-28 13:24 jht 閱讀(419) | 評論 (0)編輯 收藏

          Step1:創(chuàng)建帶有Native方法描述的ProcessHandler.java文件

          Step2javac 編譯該文件,生成ProcessHandler.class文件

          Step3javah ProcessHandler.class 生成pkg_ProcessHandler.h Native方法頭文件,注意包名字為pkg,所以生成的方法以pkg_開頭

          Step4:使用Eclipse建立Managed Make C++ Project,在第二步選擇Shared Library,然后把剛剛生成和的pkg_ProcessHandler.h 加入工程

          Step5:實(shí)現(xiàn)Native方法,從頭文件里面Copy出這個方法,完成具體實(shí)現(xiàn),編譯工程,生成dll

          Step6:完成后Jni調(diào)用,注意dll庫需要在系統(tǒng)Path里,否則會出現(xiàn)java.lang.UnsatisfiedLinkError: no *** in java.library.path

          ?

          ?

          除了上面的路徑問題,還有可能不能成功調(diào)用該 dll ,原因上 g++/gcc 編譯出來的東西和 java 預(yù)期的不匹配,詳細(xì)描述參考 http://www.aygfsteel.com/lixf/archive/2005/12/23/25177.html win32 下使用 gcc 編譯供 java 調(diào)用的 dll 須知 (jni) 我也是遇到問題 Google 到這篇文章的, Solution 當(dāng)然也在該文章里面

          ?

          參考資料:

          例解 VC++ 6.0 實(shí)現(xiàn) JNI (非爛文)

          posted @ 2007-01-16 15:33 jht 閱讀(349) | 評論 (0)編輯 收藏
               摘要: 國內(nèi)Nokia手機(jī)主要參數(shù)列表 型號???所屬系列?最大Jar SizeMIDP版本?CLDC版本屏幕尺寸3105S40164KB11128x1283200S40164KB11128x1283300S40164KB11128x1283510S40164KB11128x1283530S40164KB11128x1283650S601動態(tài)分配11176x2086220S40164KB11128x128...  閱讀全文
          posted @ 2007-01-01 17:10 jht 閱讀(481) | 評論 (0)編輯 收藏
          Sun Microsystems 將 J2ME 定義為“一種以廣泛的消費(fèi)性產(chǎn)品為目標(biāo)的的高度優(yōu)化的 Java 運(yùn)行時環(huán)境,包括尋呼機(jī)、移動電話、可視電話、數(shù)字機(jī)頂盒和汽車導(dǎo)航系統(tǒng)。”

          J2ME最早在1999 年 6 月的JavaOne大會上被正式提出之后,J2ME 為小型設(shè)備帶來了 Java 語言的跨平臺功能,允許移動無線設(shè)備共享應(yīng)用程序。有了 J2ME,Sun 已經(jīng)使 Java 平臺能夠適應(yīng)集成了或基于小型計算設(shè)備的用戶產(chǎn)品。

          J2ME實(shí)際上是一系列規(guī)范的集合,由JCP(Java Community Process)制定并發(fā)布相關(guān)的JSR(Java Specification Request),各個廠商按照規(guī)范在自己的產(chǎn)品上進(jìn)行實(shí)現(xiàn),但是必須要通過TCK(Technical Compatible Kit,兼容性測試)測試來保證兼容性。

          J2ME定義了一種靈活的層次規(guī)范結(jié)構(gòu)來規(guī)范眾多的移動設(shè)備,不同層次的規(guī)范互相協(xié)作提供一個完整的移動Java平臺。
          20059610835921.jpg 

          J2ME體系結(jié)構(gòu)和配置
            (1)J2ME體系結(jié)構(gòu)

            J2ME體系結(jié)構(gòu)基于設(shè)備的系列和類別,一個類別定義了一個特定種類的設(shè)備。移動電話、尋呼機(jī)和個人電腦記事本都是單獨(dú)的類別。對存儲器和處理能力有相近需求的若干類別的設(shè)備構(gòu)成設(shè)備的一個系列。移動電話、尋呼機(jī)和個人電腦記事本一起就是占用資源很小的設(shè)備的一個系列。

            Java 虛擬機(jī)層(Java Virtual Machine Layer):是Java虛擬機(jī)的一個實(shí)現(xiàn),它是為特定設(shè)備的主機(jī)操作系統(tǒng)定制的,而且支持特定的J2ME配置(Configuration)。

            配置層(Configuration Layer):配置層定義了Java虛擬機(jī)功能上和特定類別設(shè)備上可用的Java類庫的最小集。從某種程度上說,一個配置定義了Java平臺功能部分和庫的共同性,開發(fā)者可以假設(shè)這些功能部件和庫在屬于某一特定類別的所有設(shè)備上都是可用的。

            框架層(Profile Layer):框架層定義了特定系列設(shè)備上可用的應(yīng)用程序編程接口(API)的最小集。框架在一個特定的配置上實(shí)現(xiàn)。應(yīng)用程序是針對特定框架編寫的,因此可以移植到支持該框架的任何設(shè)備上。一個設(shè)備可以支持多個框架。用戶和應(yīng)用程序供應(yīng)商看到最多的就是這一層。

            MIDP(Mobile Information Device Profile)層:移動信息設(shè)備框架。是Java API集合,它處理諸如用戶界面、持久存儲和聯(lián)網(wǎng)等問題。

            (2)J2ME配置Configuration

            由上可知,J2ME組件都圍繞一個中心,這些中心被稱為“配置”(Configuration)。它們用于消費(fèi)電子和嵌入設(shè)備的特別的類。目前J2ME定義2個“配置”,這2種“配置”由于其處理運(yùn)算的能力不同而支持不同的設(shè)備對象。

            Connected Limited Device Configuration(CLDC,有限連接設(shè)備配置):該“配置”定義Java應(yīng)用程序接口以及支持手持設(shè)備的技術(shù)。如手機(jī)、掌上電腦等。

            Connected Device Configuration(CDC,連接設(shè)備配置):該“配置”支持“插入墻”式設(shè)備的應(yīng)用程序接口,如機(jī)頂盒等。

            上述兩種“配置”,其區(qū)別在于它們應(yīng)用于的設(shè)備的能力:

            CLDC設(shè)備的處理器能力有限(與臺式機(jī)比較),且存儲器大小一般只在128KB到512KB之間,而CDC系統(tǒng)則不同,它可能有32位或64位處理器,以及有限的存儲容量,不過它的下限也超過512KB。它們共同所遵循的原則是,每個不同功能的硬件設(shè)備都將被不同的虛擬機(jī)支持。

            3.J2ME的簡表Profile
            雖然,“配置”為一組通用設(shè)備提供了最小的Java平臺,但是開發(fā)者感興趣的是為個別設(shè)備設(shè)計應(yīng)用程序,當(dāng)他們只使用“配置”進(jìn)行開發(fā),那么所編寫的應(yīng)用程序肯定會有所欠缺。“配置”必須滿足所有設(shè)備的最小要求,而用戶界面、輸入機(jī)制和數(shù)據(jù)持久性都具有高度的設(shè)備具體性,每一種設(shè)備都有自己的方法,這些往往不在“配置”所能滿足的最小要求范圍之內(nèi)。

            現(xiàn)在,5個已知簡表已經(jīng)有了規(guī)范。而每個簡表的責(zé)任都是為了完善配置的不足。

            (1)MIDP簡表

            MIDP(Mobile Information Device Profile,移動信息設(shè)備簡表)是第一個實(shí)現(xiàn)的簡表,它補(bǔ)充了CLDC配置,并且提供應(yīng)用程序語義和控件、用戶界面、持久存儲器、網(wǎng)絡(luò)和用于移動電話的計時器、雙通道呼叫器和其他無線電設(shè)備。

            (2)PDA簡表

            Palm公司是開發(fā)PDA簡表規(guī)范的領(lǐng)頭人,該簡表完善了CLDC配置,在相當(dāng)長的時間內(nèi),它都將是KJava類程序包的替代品。Java規(guī)范建議該簡表至少應(yīng)當(dāng)提供2個核心功能片段,即用戶界面顯示工具包,適合于“有限的尺寸和深度顯示”,另一個則是持久數(shù)據(jù)存儲器機(jī)制。顯示工具包應(yīng)該是抽象窗口工具包的一個子集,而持久機(jī)制將為應(yīng)用程序、數(shù)據(jù)、配置/環(huán)境信息提供簡單的數(shù)據(jù)存儲。

            (3)Foundation簡表

            Foundation簡表的任務(wù)是擔(dān)任一個基礎(chǔ)簡表,便于以后開發(fā)出來的提供圖形用戶接口、 網(wǎng)絡(luò)等功能的簡表附著在它之上。除了用于基礎(chǔ)簡表,F(xiàn)oundation簡表還提供完整網(wǎng)絡(luò)的支持,不管有沒有使用圖形用戶接口。

            (4)Personal簡表

            在當(dāng)前規(guī)范的需求下, Personal簡表提供下一代Personal Java環(huán)境。該簡表允諾,提供互聯(lián)網(wǎng)連接性和Web保真度以及一個能夠運(yùn)行Java Applets的GUI。

            (5)RMI簡表

            我們知道CDC配置為共享的、固定網(wǎng)絡(luò)連接信息設(shè)備提供最小的Java環(huán)境。該簡表將通過提供Java到Java的RMI來協(xié)助提供更好的網(wǎng)絡(luò)連接性。


          參考資料:
          J2ME無線通信編程入門?
          http://www.vchelp.net/wyy/j2me/j2me_arc.asp

          名詞:
          Configuration
          Profile
          CDC
          CLDC
          MDIP

          posted @ 2007-01-01 15:22 jht 閱讀(536) | 評論 (0)編輯 收藏
          使用OSGI還是J2ME還沒有定下來

          ????????針對SmartPhone 的?OSGI framework有一個來自ProSyst的Commercial版本的實(shí)現(xiàn),可以通過注冊獲得試用版的軟件,已經(jīng)注冊了,但是還沒有通過審批獲得下載權(quán)限。所以暫時OSGI的方案擱淺,下手不是那么方便,資料也少,雖然很想搞出這個玩意。

          ????????于是想著建個J2ME的環(huán)境試試看,發(fā)現(xiàn)Nokia Developer Suite 3.0?已經(jīng)不是新的版本,雖然網(wǎng)上搜到很多文章都是介紹3.0套件的,現(xiàn)在Nokia推薦的是Carbide.j 1.5,明天搭環(huán)境吧準(zhǔn)備Eclipse 3.2 + EclipseMe?+ Carbide.j 1.5 + Sun WTK 2.2
          posted @ 2007-01-01 00:32 jht 閱讀(577) | 評論 (1)編輯 收藏
               摘要: 用各種網(wǎng)絡(luò)下載工具下文件的時候,大多數(shù)下載軟件支持添加批量下載任務(wù)的功能,閑暇之余coding了一個簡單的程序,實(shí)現(xiàn)批量下載.分了三個類RegFiles.java主要實(shí)現(xiàn)通配符文件地址的構(gòu)造,提供了一些輔助方法,方便的添加需要下載的URLURLFileSaver.java 實(shí)現(xiàn)將URL指向的文件保存到本地的功能FileDownLoader.java 創(chuàng)建多個線程下載大家看code,歡迎提出重構(gòu)意見...  閱讀全文
          posted @ 2006-12-31 15:58 jht 閱讀(1184) | 評論 (0)編輯 收藏
          僅列出標(biāo)題
          共5頁: 上一頁 1 2 3 4 5 下一頁 
          主站蜘蛛池模板: 高安市| 南和县| 宁陵县| 阳江市| 荣昌县| 建昌县| 洱源县| 麻江县| 丘北县| 施秉县| 洪洞县| 高邑县| 景德镇市| 东海县| 葫芦岛市| 高平市| 土默特左旗| 威信县| 龙口市| 长春市| 酒泉市| 田林县| 方正县| 乐山市| 涡阳县| 肇源县| 梁河县| 南丹县| 晋州市| 石狮市| 灵山县| 澳门| 上饶县| 思南县| 张北县| 盐边县| 石渠县| 金秀| 屯留县| 南和县| 屏东市|