`

J2me的27种字体效果(不包括下划线)(附图)

    博客分类:
  • J2me
 
阅读更多
import javax.microedition.lcdui.Canvas;
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 final class MainMIDlet extends MIDlet {

	public static MainMIDlet instance = null;

	protected void destroyApp(boolean des) throws MIDletStateChangeException {

	}

	protected void pauseApp() {
	}

	protected void startApp() throws MIDletStateChangeException {
		Displayable cur = Display.getDisplay(this).getCurrent();
		if (cur == null || instance == null) {
			instance = this;
			Display.getDisplay(this).setCurrent(new Screen());
		}
	}

	/** 退出程序 */
	public static final void quitApp() {
		try {
			instance.destroyApp(false);
			instance.notifyDestroyed();
		} catch (MIDletStateChangeException e) {
			e.printStackTrace();
		}
	}

	class Screen extends Canvas {
		public Font[] largeFont = new Font[27];

		public Screen() {
			largeFont[0] = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD,
					Font.SIZE_SMALL);
			largeFont[1] = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD,
					Font.SIZE_MEDIUM);
			largeFont[2] = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD,
					Font.SIZE_LARGE);

			largeFont[3] = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_ITALIC,
					Font.SIZE_SMALL);
			largeFont[4] = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_ITALIC,
					Font.SIZE_MEDIUM);
			largeFont[5] = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_ITALIC,
					Font.SIZE_LARGE);

			largeFont[6] = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN,
					Font.SIZE_SMALL);
			largeFont[7] = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN,
					Font.SIZE_MEDIUM);
			largeFont[8] = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN,
					Font.SIZE_LARGE);

			largeFont[9] = Font.getFont(Font.FACE_MONOSPACE, Font.STYLE_BOLD,
					Font.SIZE_SMALL);
			largeFont[10] = Font.getFont(Font.FACE_MONOSPACE, Font.STYLE_BOLD,
					Font.SIZE_MEDIUM);
			largeFont[11] = Font.getFont(Font.FACE_MONOSPACE, Font.STYLE_BOLD,
					Font.SIZE_LARGE);

			largeFont[12] = Font.getFont(Font.FACE_MONOSPACE,
					Font.STYLE_ITALIC, Font.SIZE_SMALL);
			largeFont[13] = Font.getFont(Font.FACE_MONOSPACE,
					Font.STYLE_ITALIC, Font.SIZE_MEDIUM);
			largeFont[14] = Font.getFont(Font.FACE_MONOSPACE,
					Font.STYLE_ITALIC, Font.SIZE_LARGE);

			largeFont[15] = Font.getFont(Font.FACE_MONOSPACE, Font.STYLE_PLAIN,
					Font.SIZE_SMALL);
			largeFont[16] = Font.getFont(Font.FACE_MONOSPACE, Font.STYLE_PLAIN,
					Font.SIZE_MEDIUM);
			largeFont[17] = Font.getFont(Font.FACE_MONOSPACE, Font.STYLE_PLAIN,
					Font.SIZE_LARGE);

			largeFont[18] = Font.getFont(Font.FACE_PROPORTIONAL,
					Font.STYLE_BOLD, Font.SIZE_SMALL);
			largeFont[19] = Font.getFont(Font.FACE_PROPORTIONAL,
					Font.STYLE_BOLD, Font.SIZE_MEDIUM);
			largeFont[20] = Font.getFont(Font.FACE_PROPORTIONAL,
					Font.STYLE_BOLD, Font.SIZE_LARGE);

			largeFont[21] = Font.getFont(Font.FACE_PROPORTIONAL,
					Font.STYLE_ITALIC, Font.SIZE_SMALL);
			largeFont[22] = Font.getFont(Font.FACE_PROPORTIONAL,
					Font.STYLE_ITALIC, Font.SIZE_MEDIUM);
			largeFont[23] = Font.getFont(Font.FACE_PROPORTIONAL,
					Font.STYLE_ITALIC, Font.SIZE_LARGE);

			largeFont[24] = Font.getFont(Font.FACE_PROPORTIONAL,
					Font.STYLE_PLAIN, Font.SIZE_SMALL);
			largeFont[25] = Font.getFont(Font.FACE_PROPORTIONAL,
					Font.STYLE_PLAIN, Font.SIZE_MEDIUM);
			largeFont[26] = Font.getFont(Font.FACE_PROPORTIONAL,
					Font.STYLE_PLAIN, Font.SIZE_LARGE);
			
			
		}

		protected void paint(Graphics g) {
			int stx = 0;
			int sty = 0;
			int L_FontHei = 0;
			for (int i = 0; i < largeFont.length / 2; i++) {
				L_FontHei = largeFont[i].getHeight();
				g.setColor(0xc00000);
				g.fillRect(stx, sty, getWidth(), L_FontHei + 2);
				g.setColor(0xffffff);
				g.setFont(largeFont[i]);
				g.drawString("字体类型(" + i + ")", stx, sty, 0);
				sty += L_FontHei + 2;
			}
			stx = getWidth() / 2;
			sty = 0;
			for (int i = largeFont.length / 2; i < largeFont.length; i++) {
				L_FontHei = largeFont[i].getHeight();
				g.setColor(0xc00000);
				g.fillRect(stx, sty, getWidth(), L_FontHei + 2);
				g.setColor(0xffffff);
				g.setFont(largeFont[i]);
				g.drawString("字体类型(" + i + ")", stx, sty, 0);
				sty += L_FontHei + 2;
			}
		}
	}

}

手机玩童运行后的效果图:

 WTK2.5.2的DefaultColorPhone模拟器运行后的效果图:

 

  • 大小: 38.9 KB
  • 大小: 35.4 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics