package src;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import java.util.Random;
public class CanvasTest extends MIDlet implements CommandListener
{
private MyCanvas myCanvas;
private Command quit;
private Command redraw;
class MyCanvas extends Canvas
{
private Random randomizer = new Random();
private int getRand(int min, int max)
{
int r = Math.abs(randomizer.nextInt());
return (r %(max - min)) + min ;
}
protected void paint(Graphics g)
{
// TODO 自动生成方法存根
for (int i=10 ; i>0; i--)
{
g.setGrayScale(getRand(1, 254));
g.fillRect(0, 0, i*(getWidth()/10), i*(getHeight()/10));
}
}
}
public CanvasTest()
{
myCanvas = new MyCanvas();
quit = new Command("Quit", Command.EXIT,2);
myCanvas.addCommand(quit);
redraw = new Command("Redraw", Command.SCREEN,1);
myCanvas.addCommand(redraw);
myCanvas.setCommandListener(this);
}
protected void destroyApp(boolean b) throws MIDletStateChangeException
{
// TODO 自动生成方法存根
}
protected void pauseApp()
{
// TODO 自动生成方法存根
}
protected void startApp() throws MIDletStateChangeException
{
// TODO 自动生成方法存根
Display.getDisplay(this).setCurrent(myCanvas);
}
public void commandAction(Command c, Displayable d)
{
// TODO 自动生成方法存根
try
{
if(c==redraw)
{
myCanvas.repaint();
}
if(c==quit)
{
destroyApp(true);
notifyDestroyed();
}
}
catch (MIDletStateChangeException e)
{
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}