Java/J2ME

Материал из Java эксперт
Версия от 09:38, 1 июня 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Font Canvas

   <source lang="java">

import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Font; import javax.microedition.lcdui.Graphics; public class FontCanvas extends Canvas {

 private Font systemFont, monospaceFont, proportionalFont;
 public FontCanvas() {
   this(Font.STYLE_PLAIN);
 }
 public FontCanvas(int style) {
   setStyle(style);
 }
 public void setStyle(int style) {
   systemFont = Font.getFont(Font.FACE_SYSTEM, style, Font.SIZE_MEDIUM);
   monospaceFont = Font.getFont(Font.FACE_MONOSPACE, style, Font.SIZE_MEDIUM);
   proportionalFont = Font.getFont(Font.FACE_PROPORTIONAL, style, Font.SIZE_MEDIUM);
 }
 public void paint(Graphics g) {
   int w = getWidth();
   int h = getHeight();
   // Clear the Canvas.
   g.setGrayScale(255);
   g.fillRect(0, 0, w - 1, h - 1);
   g.setGrayScale(0);
   g.drawRect(0, 0, w - 1, h - 1);
   int x = w / 2;
   int y = 20;
   y += showFont(g, "System", x, y, systemFont);
   y += showFont(g, "Monospace", x, y, monospaceFont);
   y += showFont(g, "Proportional", x, y, proportionalFont);
 }
 private int showFont(Graphics g, String s, int x, int y, Font f) {
   g.setFont(f);
   g.drawString(s, x, y, Graphics.TOP | Graphics.HCENTER);
   return f.getHeight();
 }

}


      </source>
   
  
 
  



Font Canvas MIDlet

   <source lang="java">

import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class FontCanvasMIDlet extends MIDlet {

  public FontCanvasMIDlet() { // constructor
  }
  public void startApp() {
     Canvas canvas = new FontCanvas();
     Display display = Display.getDisplay(this);
     display.setCurrent(canvas);
  }
  public void pauseApp() {
  }
  public void destroyApp(boolean unconditional) {
  }

} class FontCanvas extends Canvas {

  public void paint(Graphics g) {
     g.setColor(0xffffff);
     g.fillRect(0, 0, getWidth(), getHeight());
     g.setColor(0x000000);
     g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_LARGE));
     g.drawString("System Font", 0, 0, g.LEFT | g.TOP);
     g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_MEDIUM));
     g.drawString("Medium Size", 0, 15, g.LEFT | g.TOP);
     g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, Font.SIZE_MEDIUM));
     g.drawString("Bold Style", 0, 30, g.LEFT | g.TOP);
     g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_ITALIC, Font.SIZE_MEDIUM));
     g.drawString("Italic Style", 0, 45, g.LEFT | g.TOP);
     g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_UNDERLINED, Font.SIZE_MEDIUM));
     g.drawString("Underlined Style", 0, 60, g.LEFT | g.TOP);
  }

}


      </source>
   
  
 
  



Font MIDlet

   <source lang="java">

/* Wireless Java 2nd edition Jonathan Knudsen Publisher: Apress ISBN: 1590590775

  • /

import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class FontMIDlet extends MIDlet implements CommandListener {

 private FontCanvas mFontCanvas;
 private Command mBoldCommand, mItalicCommand, mUnderlineCommand;
 
 public FontMIDlet() {
   mFontCanvas = new FontCanvas();
   mBoldCommand = new Command("Bold", Command.SCREEN, 0);
   mItalicCommand = new Command("Italic", Command.SCREEN, 0);
   mUnderlineCommand = new Command("Underline", Command.SCREEN, 0);
   Command exitCommand = new Command("Exit", Command.EXIT, 0);
   
   mFontCanvas.addCommand(mBoldCommand);
   mFontCanvas.addCommand(mItalicCommand);
   mFontCanvas.addCommand(mUnderlineCommand);
   mFontCanvas.addCommand(exitCommand);
   mFontCanvas.setCommandListener(this);
 }
 
 public void startApp() {
   Display.getDisplay(this).setCurrent(mFontCanvas);
 }
 
 public void pauseApp() {}
 public void destroyApp(boolean unconditional) {}
 
 public void commandAction(Command c, Displayable s) {
   if (c.getCommandType() == Command.EXIT) {
     notifyDestroyed();
     return;
   }
   
   boolean isBold = mFontCanvas.isBold() ^ (c == mBoldCommand);
   boolean isItalic = mFontCanvas.isItalic() ^ (c == mItalicCommand);
   boolean isUnderline = mFontCanvas.isUnderline() ^
       (c == mUnderlineCommand);
   
   int style = 
       (isBold ? Font.STYLE_BOLD : 0) |
       (isItalic ? Font.STYLE_ITALIC : 0) |
       (isUnderline ? Font.STYLE_UNDERLINED : 0);
   
   mFontCanvas.setStyle(style);
   mFontCanvas.repaint();
 }

}


      </source>