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

📄 hourglass.java

📁 J2me实现的MSN Messeger客户端程序。聊天、添加好友、删除好友、阻止好友
💻 JAVA
字号:
package vitular.ui;

import javax.microedition.lcdui.*;

/**
 *滚动沙漏
 *@CopyRight:eshouji.com
 *@Author:ceze
 *@Version 1.0 2004/4/22
 */
public class Hourglass
    extends MsgCtrlBase {
  //等待转动图标名称
  private final String HOURGLA_IMAGE_NAME = "/img/hourglas.png";
  //private final String WAITINFO_STRING = "请稍候...";
  private String waitString = "请稍候...";

//等待图帧数,宽/高
  private final short HOURGLA_IMAGE_FRAME = 5;

  private Image hourglaImg;
  private int frameDrawIndex;
  private int imgW, imgH; //图单帧宽高

  /**
   *构造函数<br>
   *Left、Top:显示位置顶点坐标<br>
   */
  public Hourglass(MsgCanvas canvas, int Left, int Top, int Width, int Height) {
    super(canvas, Left, Top, Width, Height);
    init();
  }


  /**
   *构造函数<br>
   */
  public Hourglass(MsgCanvas canvas) {
    super(canvas);//0, 0, MsgCanvas.ScreenWidth, XCanvas.ScreenHeight);
    init();
  }

  /**
   * 设置等待时显示的文字
   * @param str String
   */
  public void setWaitString(String str){
    waitString = str;
  }

  private void init(){
    try {
      hourglaImg = Image.createImage(HOURGLA_IMAGE_NAME);
      imgW = hourglaImg.getWidth() / HOURGLA_IMAGE_FRAME;
      imgH = hourglaImg.getHeight();
    }
    catch (Exception e) {
      System.out.println(e.toString()+"Hour1111");
    }
    //显示位置默认居中
    posX = (width - left - imgW) >> 1;
    posY = height*3/4 ;
    //posY = height - imgH - 10;
    frameDrawIndex = 0;

  }

  public void nextFrame() {
    if (active == true) {
      if (++frameDrawIndex >= HOURGLA_IMAGE_FRAME) {
        frameDrawIndex = 0;
      }
    }
  }

  /**
   *绘制进度条,paint方法不能自己激发,需要主类方法调用
   */
  public void updateSelf(Graphics g) {
   // System.out.println("Hourglass updateSelf");
    if (g == null || visible == false) {
      return;
    }
    if (hourglaImg != null) {
      //图片显示方式
      g.setClip(posX, posY, imgW, imgH);
      g.drawImage(hourglaImg, posX - frameDrawIndex * imgW, posY,
                  Graphics.LEFT | Graphics.TOP);
      g.setClip(0, 0, width, height);
      if (waitString!=null){
        g.setColor(0, 0, 0);
        g.drawString(waitString, width >> 1, posY - 5,
                     g.HCENTER | g.BOTTOM);
        //System.out.println("Splash!!!");
      }
    }
     else {
      //图形显示方式
    }
//    nextFrame();
    if (++frameDrawIndex >= HOURGLA_IMAGE_FRAME) {
        frameDrawIndex = 0;
      }
    //  System.out.println("Hourglass End updateSelf");

  }

}

⌨️ 快捷键说明

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