Java Tutorial/J2ME/Draw String

Материал из Java эксперт
Перейти к: навигация, поиск

change font and draw string

   <source lang="java">

import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.rumand; import javax.microedition.lcdui.rumandListener; 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; public class J2METextExample extends MIDlet {

 private Display display;
 private MyCanvas canvas;
 public J2METextExample() {
   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 J2METextExample textExample;
 public MyCanvas(J2METextExample textExample) {
   this.textExample = textExample;
   exit = new Command("Exit", Command.EXIT, 1);
   addCommand(exit);
   setCommandListener(this);
 }
 protected void paint(Graphics graphics) {
   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();
   }
 }

}</source>





Draw Rectangle and string

   <source lang="java">

import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.rumand; import javax.microedition.lcdui.rumandListener; 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; public class BoxTextMIDlet extends MIDlet {

 public void startApp() {
   Displayable d = new BoxTextCanvas();
   d.addCommand(new Command("Exit", Command.EXIT, 0));
   d.setCommandListener(new CommandListener() {
     public void commandAction(Command c, Displayable s) {
       notifyDestroyed();
     }
   });
   Display.getDisplay(this).setCurrent(d);
 }
 public void pauseApp() {
 }
 public void destroyApp(boolean unconditional) {
 }

} class BoxTextCanvas extends Canvas {

 private Font mFont;
 public BoxTextCanvas() {
   mFont = Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_PLAIN, Font.SIZE_LARGE);
 }
 public void paint(Graphics g) {
   int w = getWidth();
   int h = getHeight();
   g.setColor(0xffffff);
   g.fillRect(0, 0, w, h);
   g.setColor(0x000000);
   String s = "dolce";
   int stringWidth = mFont.stringWidth(s);
   int stringHeight = mFont.getHeight();
   int x = (w - stringWidth) / 2;
   int y = h / 2;
   g.setFont(mFont);
   g.drawString(s, x, y, Graphics.TOP | Graphics.LEFT);
   g.drawRect(x, y, stringWidth, stringHeight);
 }

}</source>





Draw string

   <source lang="java">

import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Graphics; import javax.microedition.midlet.MIDlet; public class DrawStringGraphicsMIDlet extends MIDlet {

 private Display display;
 protected void startApp() {
   Canvas canvas = new LineCanvas();
   display = Display.getDisplay(this);
   display.setCurrent(canvas);
 }
 protected void pauseApp() {
 }
 protected void destroyApp(boolean unconditional) {
 }

} class LineCanvas extends Canvas {

 public void paint(Graphics g) {
   int width = getWidth();
   int height = getHeight();
   g.setColor(0);
   g.setStrokeStyle(Graphics.SOLID);
   g.drawString("Top left", 0, 0, Graphics.TOP | Graphics.LEFT);
 }

}</source>





Draw string on the top and left

   <source lang="java">

import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.rumand; import javax.microedition.lcdui.rumandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Graphics; import javax.microedition.midlet.MIDlet; public class TextMIDlet extends MIDlet {

 public void startApp() {
   Displayable d = new TextCanvas();
   d.addCommand(new Command("Exit", Command.EXIT, 0));
   d.setCommandListener(new CommandListener() {
     public void commandAction(Command c, Displayable s) {
       notifyDestroyed();
     }
   });
   Display.getDisplay(this).setCurrent(d);
 }
 public void pauseApp() {
 }
 public void destroyApp(boolean unconditional) {
 }

} class TextCanvas extends Canvas {

 public void paint(Graphics g) {
   int w = getWidth();
   int h = getHeight();
   g.setColor(0xffffff);
   g.fillRect(0, 0, w, h);
   g.setColor(0x000000);
   g.drawString("corner", 0, 0, Graphics.TOP | Graphics.LEFT);
 }

}</source>





Draw string to the base line and horizontal center

   <source lang="java">

import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.rumand; import javax.microedition.lcdui.rumandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Graphics; import javax.microedition.midlet.MIDlet; public class HorizontalCenterTextMIDlet extends MIDlet {

 public void startApp() {
   Displayable d = new TextCanvas();
   d.addCommand(new Command("Exit", Command.EXIT, 0));
   d.setCommandListener(new CommandListener() {
     public void commandAction(Command c, Displayable s) {
       notifyDestroyed();
     }
   });
   Display.getDisplay(this).setCurrent(d);
 }
 public void pauseApp() {
 }
 public void destroyApp(boolean unconditional) {
 }

} class TextCanvas extends Canvas {

 public void paint(Graphics g) {
   int w = getWidth();
   int h = getHeight();
   g.setColor(0xffffff);
   g.fillRect(0, 0, w, h);
   g.setColor(0x000000);
   g.drawString("AAA", w / 2, h / 2, Graphics.BASELINE | Graphics.HCENTER);
 }

}</source>





Draw string to the bottom and right

   <source lang="java">

import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.rumand; import javax.microedition.lcdui.rumandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Graphics; import javax.microedition.midlet.MIDlet; public class BottomRightTextMIDlet extends MIDlet {

 public void startApp() {
   Displayable d = new TextCanvas();
   d.addCommand(new Command("Exit", Command.EXIT, 0));
   d.setCommandListener(new CommandListener() {
     public void commandAction(Command c, Displayable s) {
       notifyDestroyed();
     }
   });
   Display.getDisplay(this).setCurrent(d);
 }
 public void pauseApp() {
 }
 public void destroyApp(boolean unconditional) {
 }

} class TextCanvas extends Canvas {

 public void paint(Graphics g) {
   int w = getWidth();
   int h = getHeight();
   g.setColor(0xffffff);
   g.fillRect(0, 0, w, h);
   g.setColor(0x000000);
   g.drawString("corner", w, h, Graphics.BOTTOM | Graphics.RIGHT);
 }

}</source>





Draw string to the bottom left

   <source lang="java">

import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.rumand; import javax.microedition.lcdui.rumandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Graphics; import javax.microedition.midlet.MIDlet; public class BottomLeftTextMIDlet extends MIDlet {

 public void startApp() {
   Displayable d = new TextCanvas();
   d.addCommand(new Command("Exit", Command.EXIT, 0));
   d.setCommandListener(new CommandListener() {
     public void commandAction(Command c, Displayable s) {
       notifyDestroyed();
     }
   });
   Display.getDisplay(this).setCurrent(d);
 }
 public void pauseApp() {
 }
 public void destroyApp(boolean unconditional) {
 }

} class TextCanvas extends Canvas {

 public void paint(Graphics g) {
   int w = getWidth();
   int h = getHeight();
   g.setColor(0xffffff);
   g.fillRect(0, 0, w, h);
   g.setColor(0x000000);
   g.drawString("corner", 0, h, Graphics.BOTTOM | Graphics.LEFT);
 }

}</source>





Draw string to the top and right

   <source lang="java">

import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.rumand; import javax.microedition.lcdui.rumandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Graphics; import javax.microedition.midlet.MIDlet; public class TopRightTextMIDlet extends MIDlet {

 public void startApp() {
   Displayable d = new TextCanvas();
   d.addCommand(new Command("Exit", Command.EXIT, 0));
   d.setCommandListener(new CommandListener() {
     public void commandAction(Command c, Displayable s) {
       notifyDestroyed();
     }
   });
   Display.getDisplay(this).setCurrent(d);
 }
 public void pauseApp() {
 }
 public void destroyApp(boolean unconditional) {
 }

} class TextCanvas extends Canvas {

 public void paint(Graphics g) {
   int w = getWidth();
   int h = getHeight();
   g.setColor(0xffffff);
   g.fillRect(0, 0, w, h);
   g.setColor(0x000000);
   g.drawString("corner", w, 0, Graphics.TOP | Graphics.RIGHT);
 }

}</source>





Draw string with font setting

   <source lang="java">

import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Font; import javax.microedition.lcdui.Graphics; import javax.microedition.midlet.MIDlet; public class StringFontSettingGraphicsMIDlet extends MIDlet {

 private Display display;
 protected void startApp() {
   Canvas canvas = new LineCanvas();
   display = Display.getDisplay(this);
   display.setCurrent(canvas);
 }
 protected void pauseApp() {
 }
 protected void destroyApp(boolean unconditional) {
 }

} class LineCanvas extends Canvas {

 public void paint(Graphics g) {
   int width = getWidth();
   int height = getHeight();
   g.setColor(0);
   g.setStrokeStyle(Graphics.SOLID);
   Font font = g.getFont();
   g.drawString("Below top left", 0, font.getHeight(), Graphics.TOP | Graphics.LEFT);
 }

}</source>