⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 screensavercanvas.java

📁 自己做的几个j2me程序例子。。只要在Jbuilder里open project就行。。大家看看很有代表性
💻 JAVA
字号:
package screensaver;

import javax.microedition.lcdui.*;
import java.util.*;

public class ScreenSaverCanvas extends Canvas implements CommandListener {
  private Command cmExit;      // 退出按钮
  private Command cmClear;     // 清屏按钮
  protected int startx = 0,     // 线条的开始点
                starty = 0,
                endx = 0,         // 线条的结束点
                endy = 0;
  private ScreenSaver midlet;
  private boolean clearDisplay = false;
  protected int linesDrawn = 0;   // 已经画的线条
  private static final int MAX_LINES = 100;

  private Random random;
  int R;
  int G;
  int B;
  /*--------------------------------------------------
  * 构造函数
  *-------------------------------------------------*/
  public ScreenSaverCanvas(ScreenSaver midlet)
  {
    this.midlet = midlet;
    cmExit = new Command("退出", Command.EXIT, 1);
    cmClear = new Command("清除", Command.SCREEN, 1);
    addCommand(cmExit);
    addCommand(cmClear);
    setCommandListener(this);
    random = new java.util.Random();
  }
  /*--------------------------------------------------
  * 划下一条线
  *-------------------------------------------------*/
  protected void paint(Graphics g)
  {
    // 将背景设为白色(清屏)
    if (clearDisplay || linesDrawn > MAX_LINES)
    {
      g.setColor(R, G, B);
      g.fillRect(0, 0, getWidth()-1, getHeight()-1);
      startx = endx = starty = endy = 0;
      clearDisplay = false;
      linesDrawn = 0;
      return;
    }
    // Draw with black pen
    //g.setColor(0, 0, 0);
    R = (random.nextInt() >>> 1) % 255;
    G = (random.nextInt() >>> 1) % 255;
    B = (random.nextInt() >>> 1) % 255;

    g.setColor(R, G, B);
    // Draw next line
    g.drawLine(startx, starty, endx, endy);

    // 新的划线的开始点
    startx = endx;
    starty = endy;
  }
  /*--------------------------------------------------
  * 命令事件处理
  *-------------------------------------------------*/
  public void commandAction(Command c, Displayable d)
  {
    if (c == cmExit)
      midlet.exitMIDlet();
    else if (c == cmClear)
    {
      clearDisplay = true;
      R = (random.nextInt() >>> 1) % 255;
      G = (random.nextInt() >>> 1) % 255;
      B = (random.nextInt() >>> 1) % 255;
      repaint();
    }
  }

}

⌨️ 快捷键说明

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