解析J2ME中Font和Color的设置

J2ME中没有color类,那么我们用什么方法来表达颜色呢?在J2ME中,颜色的表达方式有两种,请看本文详细介绍。

J2ME中Font和Color的设置

J2ME中Font设置

由于设备的限制,手机中支持的字体类型很有限。我们只能使用手机支持的字体来构造Font类对象。同其他类不一样,我们不能通过newFont()这样的语句,来创建一个Font实例,因为Font类没有构造函数。那么如何获得一个特定的字体呢?我们可以通过如下方法来获得,请看代码:

Fontfont; 

 
 
 
  1. font=Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD,Font.SIZE_SMALL);  
  2.  
  3. publicvoidpaint(Graphicsg){  
  4. Stringstr="WelcometheJavaworld!";  
  5. g.setFont(font);  
  6. g.drawString(str,screenX/2,MENU_Y,Graphics.TOP|Graphics.HCENTER);  
  7. }  

函数getFont(intface,intstyle,intsize)中:

1)face为字体的外观,J2ME中提供了如下几种face:

 
 
 
  1. Font.FACE_SYSTEN  
  2. Font.FACE_MONOSPACE  
  3. Font.FACE_PROPORTIONAL 

2)style为字体的风格,J2ME中提供了如下几种style:

 
 
 
  1. Font.STYLE_PLAIN  
  2. Font.STYLE_BOLD  
  3. Font.STYLE_ITALIC  
  4. Font.STYLE_UNDERLINED 

其中,后三种可以混合使用,例:粗体加斜体的写法 

 
 
 
  1. Font.getFont(Font.FACE_SYSTEM,  
  2. Font.STYLE_BOLD|Font.STYLE_ITALIC,  
  3. Font.SIZE_SMALL); 

3)size为字体的大小,J2ME中提供了如下几种size: 

 
 
 
  1. Font.SIZE_SMALL  
  2. Font.SIZE_MEDIUM  
  3. Font.SIZE_LARGE 

Font类一般都是在Canvas类中使用,通过g.setFont(font)这样的语句来设置字体。在高级UI中,一般是用不着Font类的。但有个例外,在MIDP2.0中,List类可以设置每行的字体格式。方法是:list.setFont(0,font);//第一行的字体为font

J2ME中Color设置

J2ME中没有color类,那么我们用什么方法来表达颜色呢?

在J2ME中,颜色的表达方式有两种:

 
 
 
  1. publicvoidpaint(Graphicsg){  
  2. //方法一,16进制表达方式  
  3. g.setColor(0xffffff);  
  4. //方法二,RGB表达方式  
  5. g.setColor(255,255,255);  

所以,一般颜色的设置也是在Canvas类中,通过Graphics的setColor()来设置要显示出的颜色

【编辑推荐】

  1. J2ME应用程序内存优化的三种途径揭秘
  2. 解析J2ME平台中三大重要概念
  3. 解析Javascript对select下拉列表操作
  4. 技术分享 如何识别控制DHTML和JS中的页面元素
  5. 深入学习JavaScript中Function对象语法 
THE END