j2me学习笔记【15】——使用低层用户界面显示文本小实例

    字体类型有默认系统字体、等宽字体和均衡字体3种字体类型,系统默认字体是设备所选择的字体,在等宽字体中,所有字符的宽度都相同。在均衡字体中,字符的宽度由字符的自然情况决定。
    有4种字形可以选择,分别是无格式、加粗、斜体和下划线,可以使用或操作符对文本应用多种字形。
    字体大小有小号、中号和大号3种。

    调用setFont()方法设定字体,这个方法是Graphics类的成员函数。setFont()方法需要一个参数,即Font类的实例。可以调用getFont()方法获得Font类的实例。getFont()方法需要3个参数,第一个参数是字体类型,第二个参数是字形,第三个参数是字体大小。

    在画布上绘制字符串时,可以使用两个方法,即drawStrign()方法和drawSubString()方法。

    drawString()方法需要4个参数;第一个是字符串,第二和第三个参数是指定定位点的x坐标和y坐标,最后一个参数指定边界框放置定位点的部分。

    drawSubstring()方法需要6个参数;第一个是字符串,第二个是偏移量,第三个是长度,第四和第五个参数是指定定位点的x坐标和y坐标,最后一个参数指定边界框放置定位点的部分。   

package mtk; import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Font; import javax.microedition.lcdui.Graphics; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class TextExample extends MIDlet { private Display display; private MyCanvas4 canvas; public TextExample() { display=Display.getDisplay(this); canvas=new MyCanvas4(this); } protected void destroyApp(boolean arg0){ } protected void pauseApp() { } protected void startApp() throws MIDletStateChangeException { display.setCurrent(canvas); } public void exit(){ destroyApp(true); notifyDestroyed(); } } class MyCanvas4 extends Canvas implements CommandListener{ private Command CMD_EXIT=new Command("退出",Command.EXIT,1); private TextExample textExample; public MyCanvas4(TextExample textExample) { this.textExample=textExample; addCommand(CMD_EXIT); setCommandListener(this); } protected void paint(Graphics graphics) { graphics.setColor(255,255,255); graphics.fillRect(0,0, getWidth(), getHeight()); graphics.setColor(255, 0, 0); graphics.setFont(Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_BOLD, Font.SIZE_SMALL)); graphics.drawString("显示状态.", 50, 10, Graphics.HCENTER|Graphics.BASELINE); graphics.drawSubstring("显示状态123456.",5,4,50, 30, Graphics.HCENTER|Graphics.BASELINE); } public void commandAction(Command c, Displayable d) { if(c==CMD_EXIT){ textExample.exit(); } } }

 

 

你可能感兴趣的:(c,command,cmd,Class,j2me)