This example shows how to use Canvas class to draw some texts with specific Font characteristics in MIDP.

 /*
J2ME: The Complete Reference

James Keogh

Publisher: McGraw-Hill

ISBN 0072227109

*/
//jad file (please verify the jar size)
/*
MIDlet-Name: TextExample
MIDlet-Version: 1.0
MIDlet-Vendor: MyCompany
MIDlet-Jar-URL: TextExample.jar
MIDlet-1: TextExample, , TextExample
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
MIDlet-JAR-SIZE: 100

*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class TextExampleMIDlet extends MIDlet{
  private Display  display;       
  private MyCanvas canvas;      
  public TextExampleMIDlet ()
  {
    display = Display.getDisplay(this);
    canvas  = new MyCanvas (this);
  }
  protected void startApp()
  {
    display.setCurrent(canvas);
  }
  protected void pauseApp()
  { 
  }
  protected void destroyApp( boolean unconditional )
  { 
  }
  public void exitMIDlet()
  {
    destroyApp(true);
    notifyDestroyed();
  }
}
class MyCanvas extends Canvas implements CommandListener
{
  private Command exit;  
  private TextExample textExample;
  public MyCanvas (TextExample textExample)
  {
    this. textExample = textExample;
    exit = new Command("Exit", Command.EXIT, 1);
    addCommand(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("Profound statement.", 50, 10, Graphics.HCENTER|Graphics.BASELINE);  
   }
  public void commandAction(Command command, Displayable displayable)
  {
    if (command == exit)
    {
      textExample.exitMIDlet();
    }
  }   
}
Related Tips