J2ME实现浮动字体

import javax.microedition.lcdui.*;

import javax.microedition.midlet.*;

public class DrawCanvas extends MIDlet implements CommandListener {

private Command exitCommand;

private HCanvas sg;

public DrawCanvas() {

exitCommand = new Command("Exit", Command.EXIT, 1);

sg = new HCanvas();

sg.addCommand(exitCommand);

sg.setCommandListener(this);

Display.getDisplay(this).setCurrent(sg);

}

protected void startApp() {

}

protected void pauseApp() {

}

protected void destroyApp(boolean arg0) {

}

public void commandAction(Command c, Displayable d) {

if (c == exitCommand) {

destroyApp(false);

notifyDestroyed();

}

}

}

class HCanvas extends Canvas implements Runnable {

private String str = new String("PRESS 5");

private int[] ak = { 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 3, 2, 1, 0, 0, 0, 0, 0,

0, 0 };

boolean kaishi = true;

private int k = 6;

public HCanvas() {

new Thread(this).start();

}

protected void paint(Graphics g) {

g.setColor(0x00ffffff);

g.fillRect(0, 0, getWidth(), getHeight());

g.setColor(0x00000000);

for (int i = 0; i < str.length(); i++) { //很简单了就是把这个需要做浮动的字进行错位显示

g.drawString(str.substring(i, i + 1), 20 + i * 7, 10 - ak[k- i], 0);

g.drawString(str.substring(i, i + 1), 21 + i * 7, 11 - ak[k- i], 0);// 加重字体7是字体宽度

}

}

public void run() {

while (kaishi) {

try {

repaint(); // 再描绘

Thread.sleep(70); // 等待一定时间

k++;

if (k > (ak.length - 1))

k = 6;

} catch (InterruptedException e) {

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值