深入了解J2ME Polish+Eclipse配置過程
本文和大家重點討論一下J2ME Polish+Eclipse配置過程,首先自然是Eclipse SDK的下載和安裝,這個過程就不做過多的介紹,本人的默認安裝路徑是D:\ProgramFiles。其次是J2ME-Polish-2.0.1版本的安裝,具體主要過程如下。
J2ME Polish+Eclipse配置過程詳解
到目前(2010/1/20)為止,J2ME Polish官方網(wǎng)站上公布的Polish***版本是2.1.4,但是鑒于本人使用Eclipse-SDK-3.5.1-win32+J2ME-Polish-2.1.3版本配置時反復(fù)試驗均沒有成功,于是改為Eclipse-SDK-3.4.1-win32+J2ME-Polish-2.0.1版本進行配置,下面就對配置過程以及***創(chuàng)建工程的整個過程做一個介紹。
首先自然是Eclipse SDK的下載和安裝,這個過程就不做過多的介紹,本人的默認安裝路徑是D:\ProgramFiles。其次是J2ME-Polish-2.0.1版本的安裝,具體主要過程如下,前面的過程就不多說了,主要對以下關(guān)鍵幾部進行說明:
1.在此選擇安裝路徑,本人的安裝路徑為D:\ProgramFiles\J2ME-Polish2.0.1文件夾,點擊next繼續(xù)
2.分別設(shè)置WTK,各個手機廠商Emulator模擬器(如Nokia),以及IDE(如Eclipse)的安裝文件路【注意:這一步的設(shè)置十分關(guān)鍵,應(yīng)仔細設(shè)置好】,設(shè)置好后點擊next繼續(xù)
3.勾選Eclipse Integration(Mepose)這一項,點擊下一步進入安裝。
4.安裝完成后退出。J2ME-Polish安裝完成了,接下來就是在Eclipse中對它進行配置,這時需要一個Mepose的插件,使用Eclipse中的在線安裝即可。#p#
步驟如下:
1.選擇菜單【Help】->【SoftwareUpdates…】,在彈出的對話框中選擇AvailableSoftware并在右側(cè)的AddSite中的Location處添加地址:http://www.J2ME Polish.org/mepose即可。
2.點擊Install進行安裝。
3.安裝完成后Eclipse會重啟。如果安裝成功在【W(wǎng)indows】->【Preferences】下會出現(xiàn)J2ME Polish菜單選項(如下圖)。如果沒能出現(xiàn)則說明安裝過程存在問題,在確定所有設(shè)置均正常后,可能是由于版本之間的不匹配問題。本人當(dāng)初安裝時,使用的是J2ME Polish2.1.3與EclipseSDK3.5.1就出現(xiàn)過安裝結(jié)束后沒有出現(xiàn)J2ME Polish選項的問題,***換做現(xiàn)在的版本則安裝一切正常。
通過以上步驟J2ME Polish的安裝以及集成在IDE環(huán)境中的工作就算完成了,接下來新建一個工程來體驗一下Polish的功能。
首先來新建一個Polish工程,【File】->【New】->【Other…】,在Java中選擇J2ME PolishProject。
鍵入工程名HelloPolish,勾選Generatetemplate?選項,并在Classname一欄輸入主類名PolishHello,Packagename一欄中輸入包名com.polish.learning,點擊next,下一步。
【注意】:此處的Generatetemplate?選項一定要勾選,不然后面建立類時會出現(xiàn)一些問題。
分別指定好Polish,WTK以及手機模擬器的各個路徑地址。當(dāng)然,這些都可以在build.xml文件中進行再設(shè)置,這個以后會慢慢給大家介紹。點擊next,下一步。
在此,我們選擇Configurations中的CLDC/1.1,Platforms中的MIDP/2.0以及Devices中Virtual的Generic/DefaultColorPhone,關(guān)于這里的設(shè)置,以后會慢慢給大家介紹。設(shè)置好后點擊next下一步,然后點擊Finish完成J2ME Polish工程的創(chuàng)建
這時候,Polish工程就創(chuàng)建完畢了,我們會在左側(cè)的工程區(qū)域中看到創(chuàng)建好的工程文件HelloPolish。
其中的com.polish.learning包以及包中的PolishHello.java文件就是我們剛才勾選Generatetemplate?選項后設(shè)置的。打開PolishHello.java文件,我們會看到自動生成的一段代碼:
接下來,我們在PolishHello.java文件中,輸入如下程序段:
 
- viewplaincopytoclipboardprint?
 - ·········10········20········30········40········50········
 - 60········70········80········90········
 - 100·······110·······120·······130·······140·······150
 - packagecom.polish.learning;
 - importjavax.microedition.lcdui.Display;
 - importjavax.microedition.lcdui.Form;
 - importjavax.microedition.lcdui.StringItem;
 - importjavax.microedition.midlet.MIDlet;
 - importjavax.microedition.midlet.MIDletStateChangeException;
 - importde.enough.polish.util.Locale;
 - publicclassPolishHelloextendsMIDlet{
 - privateFormmyScreen;
 - privateDisplaydisplay;
 - protectedvoidstartApp()throwsMIDletStateChangeException{
 - //TODO:Implementthismethod.
 - this.myScreen=newForm(null);
 - //#stylestringItem
 - StringItemhelloPolishItem=newStringItem(null,"HelloPolish!");
 - this.myScreen.append(helloPolishItem);
 - this.display=Display.getDisplay(this);
 - this.display.setCurrent(this.myScreen);
 - }
 - protectedvoidpauseApp(){
 - //TODO:Implementthismethod.
 - }
 - protectedvoiddestroyApp(booleanunconditional)
 - throwsMIDletStateChangeException{
 - //TODO:Implementthismethod.
 - }
 - }
 - packagecom.polish.learning;
 - importjavax.microedition.lcdui.Display;
 - importjavax.microedition.lcdui.Form;
 - importjavax.microedition.lcdui.StringItem;
 - importjavax.microedition.midlet.MIDlet;
 - importjavax.microedition.midlet.MIDletStateChangeException;
 - importde.enough.polish.util.Locale;
 - publicclassPolishHelloextendsMIDlet{
 - privateFormmyScreen;
 - privateDisplaydisplay;
 - protectedvoidstartApp()throwsMIDletStateChangeException{
 - //TODO:Implementthismethod.
 - this.myScreen=newForm(null);
 - //#stylestringItem
 - StringItemhelloPolishItem=newStringItem(null,"HelloPolish!");
 - this.myScreen.append(helloPolishItem);
 - this.display=Display.getDisplay(this);
 - this.display.setCurrent(this.myScreen);
 - }
 - protectedvoidpauseApp(){
 - //TODO:Implementthismethod.
 - }
 - protectedvoiddestroyApp(booleanunconditional)
 - throwsMIDletStateChangeException{
 - //TODO:Implementthismethod.
 - }
 - }
 
#p#在“resource”的文件夾下新建兩個文件,一個是“polish.css”文件,并在“polish.css”文件中輸入以下CSS樣式代碼:
- viewplaincopytoclipboardprint?
 - .stringItem{
 - margin-top:2;
 - padding:2;
 - padding-left:5;
 - font{
 - color:black;
 - size:medium;
 - style:bold;
 - }
 - layout:left;
 - }
 - .stringItem{
 - margin-top:2;
 - padding:2;
 - padding-left:5;
 - font{
 - color:black;
 - size:medium;
 - style:bold;
 - }
 - layout:left;
 - }
 
然后為了可以順利的運行,我們需要稍稍改動一下build.xml中的設(shè)置,在build.xml文件中找到
- viewplaincopytoclipboardprint?
 - <jad>
 - <attributenameattributename="Nokia-MIDlet-Category"
 - value="Game"if="polish.group.Series40"/>
 - </jad>
 - <jad>
 - <attributenameattributename="Nokia-MIDlet-Category"
 - value="Game"if="polish.group.Series40"/>
 - </jad>
 
在<jad>標(biāo)簽內(nèi)加入一句,變成這樣
- viewplaincopytoclipboardprint?
 - <jad>
 - <attributenameattributename="Nokia-MIDlet-Category"value="
 - Game"if="polish.group.Series40"/>
 - <attributenameattributename="MIDlet-1"
 - value="HelloPolish,,com.polish.learning.PolishHello"/>
 - </jad>
 - <jad>
 - <attributenameattributename="Nokia-MIDlet-Category"
 - value="Game"if="polish.group.Series40"/>
 - <attributenameattributename="MIDlet-1"
 - value="HelloPolish,,com.polish.learning.PolishHello"/>
 - </jad>
 
***,我們來運行,在PolishHello.java上點擊右鍵,在彈出的菜單上選擇【RunAs】->再在右邊選擇【J2ME PolishMIDlet】;可能此時會碰到幾種運行時的問題
1.控制臺中提示
- com.sun.tools.javac.Mainisnotontheclasspath.
 - PerhapsJAVA_HOMEdoesnotpointtotheJDK
 
在網(wǎng)上查了很多的解決辦法都比較麻煩,這里有一種簡單的方法,就是
Trycopyingtools.jarfromjava\jdk1.6.0_11\libtojava\jre6\lib,將jdklib目錄下的tools.jar文件直接拷貝到j(luò)re的lib目錄中,然后關(guān)閉Eclipse再重新打開運行工程文件,上述問題便會得到解決。
2.【注意】:在<jad>標(biāo)簽內(nèi)加入的那句話一定要書寫正確,尤其是value中的值:
value="HelloPolish,,com.polish.learning.PolishHello",首先是這個J2ME Polish的工程文件名,然后是剛剛在創(chuàng)建Polish時Generatetemplate?選項中的設(shè)置的包名和主類名(不用加后綴.java),這兩個之間有兩個英文的逗號,這兩個逗號可一個都不能少,不然會出現(xiàn)問題。至少本人當(dāng)初設(shè)置時因為少了一個逗號,運行時出現(xiàn)了HelloPolish,nullException:java.lang.NullPointerException的異常,希望大家注意!
【編輯推薦】
- 暢談J2ME Polish的使用
 - 深入探究cookie技術(shù)在J2ME平臺的應(yīng)用與實現(xiàn)
 - 探究J2ME中cookie庫的管理
 - Eclipse中進行JVM內(nèi)存設(shè)置
 - 解析Linux下如何用eclipse搭建J2ME開發(fā)環(huán)境
 















 
 
 
 
 
 
 