listing 7.5.java

来自「这是JAVA开发大全的源代码」· Java 代码 · 共 86 行

JAVA
86
字号
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class PointerExample extends MIDlet
{
  private Display  display;       
  private MyClass canvas;   
  public PointerExample()
  {
    display = Display.getDisplay(this);
    canvas  = new MyClass (this);
  }
  protected void startApp()
  {
    display.setCurrent( canvas );
  }
  protected void pauseApp()
  { 
  }
  protected void destroyApp( boolean unconditional )
  { 
  }
  public void exitMIDlet()
  {
    destroyApp(true);
    notifyDestroyed();
  }
}
class MyClass extends Canvas implements CommandListener
{
  private Command exit;          
  private Command erase;  
  private boolean eraseFlag = false;
  private boolean isFirstPaint;
  private int sX = 0,sY = 0, cX = 0, cY = 0;
  private PointerExample pointerExample;
  public MyClass (PointerExample pointerExample)
  {
    this.pointerExample = pointerExample;
    exit = new Command("Exit", Command.EXIT, 1);
    erase = new Command("Erase", Command.SCREEN, 1);    
    addCommand(exit);
    addCommand(erase);
    setCommandListener(this);
    isFirstPaint = true;
  } 
  protected void paint(Graphics graphics)
  {
    if (eraseFlag || isFirstPaint)
    {
      graphics.setColor(255, 255, 255);
      graphics.fillRect(0, 0, getWidth(), getHeight());
      eraseFlag = isFirstPaint = false;
      sX = 0;
      sY = 0;
      cX = 0;
      cY = 0;
      return;
    }
    graphics.setColor(0, 0, 0);
    graphics.drawLine(sX, sY, cX, cY);
    sX = cX;
    sY = cY;
  }
  public void commandAction(Command command, Displayable displayable)
  {
    if (command == exit)
      pointerExample.exitMIDlet();
    else if (command == erase)
    {
      eraseFlag = true; 
      repaint();
    }
  }
  protected void pointerPressed(int x, int y)
  {
    sX = x;
    sY = y;
  }
  protected void pointerDragged(int x, int y)
  {
    cX = x;
    cY = y;       
    repaint();
  } 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?