文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>J2ME Polish + Eclipse配置过程详解

J2ME Polish + Eclipse配置过程详解

时间:2010-05-17  来源:myjiushizhe

     到目前(2010/1/20)为止,J2ME Polish官方网站上公布的Polish最新版本是2.1.4,但是鉴于本人使用Eclipse-SDK-3.5.1-win32 + J2ME-Polish-2.1.3版本配置时反复试验均没有成功,于是改为Eclipse-SDK-3.4.1-win32 + J2ME-Polish-2.0.1版本进行配置,下面就对配置过程以及最后创建工程的整个过程做一个介绍。           首先自然是Eclipse SDK的下载和安装,这个过程就不做过多的介绍,本人的默认安装路径是D:\Program Files。          其次是J2ME-Polish-2.0.1版本的安装,具体主要过程如下,前面的过程就不多说了,主要对以下关键几部进行说明:          1.在此选择安装路径,本人的安装路径为D:\Program Files\J2ME-Polish2.0.1文件夹,点击next继续          2.分别设置WTK,各个手机厂商Emulator模拟器(如Nokia),以及IDE(如Eclipse)的安装文件路【注意:这一步的设置十分关键,应仔细设置好】,设置好后点击next继续            3.勾选Eclipse Integration (Mepose)这一项,点击下一步进入安装。            4.安装完成后退出。J2ME-Polish安装完成了,接下来就是在Eclipse中对它进行配置,这时需要一个Mepose的插件,使用Eclipse中的在线安装即可,步骤如下: 1.    选择菜单【Help】->【Software Updates…】,在弹出的对话框中选择Available Software并在右侧的Add Site中的Location处添加地址:http://www.j2mepolish.org/mepose即可。   2.    点击Install进行安装。 3.    安装完成后Eclipse会重启。如果安装成功在【Windows】->【Preferences】下会出现J2ME Polish菜单选项(如下图)。如果没能出现则说明安装过程存在问题,在确定所有设置均正常后,可能是由于版本之间的不匹配问题。本人当初安装时,使用的是J2ME Polish 2.1.3与Eclipse SDK 3.5.1就出现过安装结束后没有出现J2ME Polish选项的问题,最后换做现在的版本则安装一切正常。       通过以上步骤J2ME Polish的安装以及集成在IDE环境中的工作就算完成了,接下来新建一个工程来体验一下Polish的功能。     首先来新建一个Polish工程,【File】->【New】->【Other…】,在Java中选择J2ME Polish Project。     键入工程名HelloPolish,勾选Generate template?选项,并在Class name一栏输入主类名PolishHello,Package name一栏中输入包名com.polish.learning,点击next,下一步。 【注意】:此处的Generate template?选项一定要勾选,不然后面建立类时会出现一些问题。   分别指定好Polish,WTK以及手机模拟器的各个路径地址。当然,这些都可以在build.xml文件中进行再设置,这个以后会慢慢给大家介绍。点击next,下一步。   在此,我们选择Configurations中的CLDC/1.1,Platforms中的MIDP/2.0以及Devices中Virtual的Generic/DefaultColorPhone,关于这里的设置,以后会慢慢给大家介绍。设置好后点击next下一步,然后点击Finish完成J2ME Polish工程的创建   这时候,Polish工程就创建完毕了,我们会在左侧的工程区域中看到创建好的工程文件HelloPolish。   其中的com.polish.learning包以及包中的PolishHello.java文件就是我们刚才勾选Generate template?选项后设置的。打开PolishHello.java文件,我们会看到自动生成的一段代码:   接下来,我们在PolishHello.java文件中,输入如下程序段: view plaincopy to clipboardprint?
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
package com.polish.learning;  
 
import javax.microedition.lcdui.Display;  
import javax.microedition.lcdui.Form;  
import javax.microedition.lcdui.StringItem;  
import javax.microedition.midlet.MIDlet;  
import javax.microedition.midlet.MIDletStateChangeException;  
 
import de.enough.polish.util.Locale;  
 
public class PolishHello extends MIDlet{  
 
     private Form myScreen ;  
     private Display display ;  
      
     protected void startApp() throws MIDletStateChangeException{  
         // TODO: Implement this method.  
         this.myScreen = new Form(null);  
         //#style stringItem  
         StringItem helloPolishItem = new StringItem(null, "Hello Polish !");  
         this.myScreen.append(helloPolishItem);  
           
         this.display = Display.getDisplay(this);  
         this.display.setCurrent(this.myScreen);  
     }  
 
     protected void pauseApp(){  
          // TODO: Implement this method.  
     }  
 
     protected void destroyApp(boolean unconditional) throws MIDletStateChangeException{  
          // TODO: Implement this method.  
     }  

package com.polish.learning;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import de.enough.polish.util.Locale; public class PolishHello extends MIDlet{   private Form myScreen ;
  private Display display ;
 
     protected void startApp() throws MIDletStateChangeException{
         // TODO: Implement this method.
      this.myScreen = new Form(null);
         //#style stringItem
         StringItem helloPolishItem = new StringItem(null, "Hello Polish !");
         this.myScreen.append(helloPolishItem);
        
         this.display = Display.getDisplay(this);
         this.display.setCurrent(this.myScreen);
     }
     protected void pauseApp(){
          // TODO: Implement this method.
     }
     protected void destroyApp(boolean unconditional) throws MIDletStateChangeException{
          // TODO: Implement this method.
     }
}
在“resource”的文件夹下新建两个文件,一个是“polish.css”文件,并在“polish.css”文件中输入以下CSS样式代码: view plaincopy to clipboardprint?
.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中的设置,在build.xml文件中找到 view plaincopy to clipboardprint?
<jad> 
                <attribute name="Nokia-MIDlet-Category" value="Game" if="polish.group.Series40" /> 
</jad>    
<jad>
                <attribute name="Nokia-MIDlet-Category" value="Game" if="polish.group.Series40" />
</jad>  
 
在<jad>标签内加入一句,变成这样 view plaincopy to clipboardprint?
<jad> 
                <attribute name="Nokia-MIDlet-Category" value="Game" if="polish.group.Series40" /> 
                <attribute name="MIDlet-1" value="HelloPolish,,com.polish.learning.PolishHello " /> 
 </jad>     
<jad>
                <attribute name="Nokia-MIDlet-Category" value="Game" if="polish.group.Series40" />
                <attribute name="MIDlet-1" value="HelloPolish,,com.polish.learning.PolishHello " />
 </jad>   

最后,我们来运行,在PolishHello.java上点击右键,在弹出的菜单上选择【Run As】->再在右边选择【J2ME Polish MIDlet】;可能此时会碰到几种运行时的问题(这些都是本人曾经碰到过的,希望能给大家些帮助)
1.       控制台中提示 com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK 在网上查了很多的解决办法都比较麻烦,这里有一种简单的方法,就是 Try copying tools.jar from java\jdk1.6.0_11\lib to java\jre6\lib,将jdk lib目录下的tools.jar文件直接拷贝到jre的lib目录中,然后关闭Eclipse再重新打开运行工程文件,上述问题便会得到解决。(至少自己是这样解决的,如果还有解决不了的可以与我联系,咱们一起探讨 2.【注意】:在<jad>标签内加入的那句话一定要书写正确,尤其是value中的值:value="HelloPolish,,com.polish.learning.PolishHello ",首先是这个J2ME Polish的工程文件名,然后是刚刚在创建Polish时Generate template?选项中的设置的包名和主类名(不用加后缀.java),这两个之间有两个英文的逗号,这两个逗号可一个都不能少,不然会出现问题。至少本人当初设置时因为少了一个逗号,运行时出现了HelloPolish, null Exception: java.lang.NullPointerException的异常,希望大家注意! 最后,运行的效果如下:  
当然,你可以更改resources文件夹下的polish.css文件,来增加它的显示效果,这对于设计更美观的UI起到了极大的帮助作用,对于Polish的深入探讨会继续进行,也希望大家给我更多的宝贵意见,多多与大家交流,由于本人目前还是一个大学生,正处于学习中,这个过程中难免会遇到一些问题和困惑,还希望大家能耐心的帮助我,谢谢!
         写这篇文章的目的是由于,自己正在学习Polish,但是从安装到最后的创建运行成功自己遇到了很多问题,这些问题在网上没有现成的答案,多多少少浪费了些时间,但是这其中也学习到了不少,于是将这个过程写出来,希望能与大家分享,帮助那些同样与我有困惑的人,也希望大家还能多多提意见,写博客是第一次,在CSDN这个高手云集的舞台上更是第一次!希望大家多多意见和指导哦!^_^    
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载