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

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模拟器运行后的效果图:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值