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){} } } }
|