由于設備的限制,手機中支持的字體類型很有限。我們只能使用手機支持的字體來構造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 閱讀(3024)
評論(4) 編輯 收藏 所屬分類:
J2ME