Chinaunix首页 | 论坛 | 博客
  • 博客访问: 477666
  • 博文数量: 155
  • 博客积分: 2954
  • 博客等级: 少校
  • 技术积分: 1000
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-12 22:00
文章分类

全部博文(155)

文章存档

2014年(2)

2013年(5)

2012年(10)

2011年(33)

2010年(105)

我的朋友

分类: Java

2010-05-17 16:17:33

     到目前(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处添加地址:即可。
 
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?
 
                 
    

               
  
 
标签内加入一句,变成这样
view plaincopy to clipboardprint?
 
                 
                 
 
     

               
               
 
   

最后,我们来运行,在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.【注意】:在标签内加入的那句话一定要书写正确,尤其是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这个高手云集的舞台上更是第一次!希望大家多多意见和指导哦!^_^
 
 
阅读(804) | 评论(0) | 转发(0) |
0

上一篇:linux共享目录

下一篇:j2me开发参考网站

给主人留下些什么吧!~~