隨筆-46  評論-64  文章-2  trackbacks-0
           
               摘要: 原文地址:? http://java.sun.com/docs/books/tutorial/rmi/index.html?譯者:jht 歡迎大家對翻譯中存在的問題批判指正,謝謝大家!從Word粘帖過來之后格式有點問題,所以把word文檔傳上來了,點擊下載 RMI ? ...  閱讀全文
          posted @ 2007-05-09 16:59 jht 閱讀(2070) | 評論 (0)編輯 收藏
               摘要: 一、一些概念 ????WebService技術現在幾乎無處不在,以前玩.NET的時候最開始接觸這個概念,C#語言對WebService近似原生性的支持使我們用C#可以非常迅速的開發出一個WebService,沒有任何復雜煩擾的步驟。????后來沒有機會再在.Net Framework上面開發,轉投了Java的懷抱,想要開發出一個WebService感覺比較,搞一堆命令生成一堆...  閱讀全文
          posted @ 2007-03-31 21:27 jht 閱讀(3693) | 評論 (3)編輯 收藏
               摘要: 今天稍微花了點時間實現了一個java的屏幕截圖程序,功能簡單,支持全屏截圖和選擇截圖用JSmooth做了個.exe程序,直接運行就可以了,附:程序下載 http://www.aygfsteel.com/Files/jht/MyScreenSnap.zipJRE1.4版本的可執行程序 http://www.aygfsteel.com/Files/jht/MyScreenSnap_jre1.4.zip關鍵...  閱讀全文
          posted @ 2007-03-29 19:19 jht 閱讀(1690) | 評論 (5)編輯 收藏
          這個技巧比較Cool也比較基礎常用,關鍵技術是使用圖像重新繪制組件
          看下面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的邊框都設置成為0,還有邊框的重繪設置false,我們可以用不同的貼圖表示按鈕被選中等的狀態

          使用這個組件的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要顯示效果好,關鍵就在于貼圖了,可見美工很重要。

          我準備每天Hack一篇

          更多內容,可以看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 閱讀(520) | 評論 (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 閱讀(412) | 評論 (0)編輯 收藏

          Step1:創建帶有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:實現Native方法,從頭文件里面Copy出這個方法,完成具體實現,編譯工程,生成dll

          Step6:完成后Jni調用,注意dll庫需要在系統Path里,否則會出現java.lang.UnsatisfiedLinkError: no *** in java.library.path

          ?

          ?

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

          ?

          參考資料:

          例解 VC++ 6.0 實現 JNI (非爛文)

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

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

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

          J2ME定義了一種靈活的層次規范結構來規范眾多的移動設備,不同層次的規范互相協作提供一個完整的移動Java平臺。
          20059610835921.jpg 

          J2ME體系結構和配置
            (1)J2ME體系結構

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

            Java 虛擬機層(Java Virtual Machine Layer):是Java虛擬機的一個實現,它是為特定設備的主機操作系統定制的,而且支持特定的J2ME配置(Configuration)。

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

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

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

            (2)J2ME配置Configuration

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

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

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

            上述兩種“配置”,其區別在于它們應用于的設備的能力:

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

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

            現在,5個已知簡表已經有了規范。而每個簡表的責任都是為了完善配置的不足。

            (1)MIDP簡表

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

            (2)PDA簡表

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

            (3)Foundation簡表

            Foundation簡表的任務是擔任一個基礎簡表,便于以后開發出來的提供圖形用戶接口、 網絡等功能的簡表附著在它之上。除了用于基礎簡表,Foundation簡表還提供完整網絡的支持,不管有沒有使用圖形用戶接口。

            (4)Personal簡表

            在當前規范的需求下, Personal簡表提供下一代Personal Java環境。該簡表允諾,提供互聯網連接性和Web保真度以及一個能夠運行Java Applets的GUI。

            (5)RMI簡表

            我們知道CDC配置為共享的、固定網絡連接信息設備提供最小的Java環境。該簡表將通過提供Java到Java的RMI來協助提供更好的網絡連接性。


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

          名詞:
          Configuration
          Profile
          CDC
          CLDC
          MDIP

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

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

          ????????于是想著建個J2ME的環境試試看,發現Nokia Developer Suite 3.0?已經不是新的版本,雖然網上搜到很多文章都是介紹3.0套件的,現在Nokia推薦的是Carbide.j 1.5,明天搭環境吧準備Eclipse 3.2 + EclipseMe?+ Carbide.j 1.5 + Sun WTK 2.2
          posted @ 2007-01-01 00:32 jht 閱讀(569) | 評論 (1)編輯 收藏
               摘要: 用各種網絡下載工具下文件的時候,大多數下載軟件支持添加批量下載任務的功能,閑暇之余coding了一個簡單的程序,實現批量下載.分了三個類RegFiles.java主要實現通配符文件地址的構造,提供了一些輔助方法,方便的添加需要下載的URLURLFileSaver.java 實現將URL指向的文件保存到本地的功能FileDownLoader.java 創建多個線程下載大家看code,歡迎提出重構意見...  閱讀全文
          posted @ 2006-12-31 15:58 jht 閱讀(1180) | 評論 (0)編輯 收藏
          僅列出標題
          共5頁: 上一頁 1 2 3 4 5 下一頁 
          主站蜘蛛池模板: 淮北市| 隆回县| 长汀县| 郯城县| 太仆寺旗| 宾川县| 呼图壁县| 翼城县| 长子县| 闽清县| 浦城县| 大悟县| 汉川市| 新乡县| 如东县| 黄龙县| 临朐县| 女性| 株洲县| 临江市| 江门市| 武强县| 蓬莱市| 桃园县| 赣榆县| 广水市| 太白县| 丰宁| 海林市| 阳山县| 德阳市| 葵青区| 公主岭市| 赤峰市| 锡林浩特市| 湖南省| 淮阳县| 桦川县| 阿尔山市| 平陆县| 吴忠市|