J2ME中,Font和Color的设置

J2ME中,Font和Color的设置

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

Font font;
font = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, Font.SIZE_SMALL);

public void paint(Graphics g) {
 String str = "Welcome the Java world!";
 g.setFont(font);
 g.drawString(str, screenX / 2, MENU_Y, Graphics.TOP | Graphics.HCENTER);
}

函数getFont(int face, int style, int size)中:

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

2) style 为字体的风格,J2ME中提供了如下几种style:
   Font.STYLE_PLAIN
   Font.STYLE_BOLD
   Font.STYLE_ITALIC
   Font.STYLE_UNDERLINED
其中,后三种可以混合使用,例:粗体加斜体的写法
Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD|Font.STYLE_ITALIC, Font.SIZE_SMALL);

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

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

-------------------------------------------------------------

J2ME中没有color类,那么我们用什么方法来表达颜色呢?
在J2ME中,颜色的表达方式有两种:

public void paint(Graphics g) {
 //方法一,16进制表达方式
 g.setColor(0xffffff);
 //方法二,RGB表达方式
 g.setColor(255, 255, 255);
}

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

你可能感兴趣的:(J2ME中,Font和Color的设置)