由于设备的限制,手机中支持的字体类型很有限。我们只能使用手机支持的字体来构造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()来设置要显示出的颜色。
posted on 2007-07-31 20:41
Fang.W 阅读(3016)
评论(4) 编辑 收藏 所属分类:
J2ME