imagenumber.java

来自「JAVAME Core technology and best practice」· Java 代码 · 共 53 行

JAVA
53
字号
package com.j2medev.chapter5;
import javax.microedition.lcdui.*;



/***********************************
 * 类功能:图像的方式显示数字
 ***********************************/
public class ImageNumber {
  private Image imgNumber;

  /******************************************
   * 函数功能:构造函数
   * 参数:图片文件名
   * 返回值:
   ******************************************/
  public ImageNumber(String filename) {
    try {
      imgNumber = Image.createImage(filename);
    }
    catch(Exception e) {}
  }

  /******************************************
   * 函数功能:在指定位置上画出数字
   * 参数:Graphics对象, 待显示数字, 横座标, 纵座标
   * 返回值:无
   ******************************************/
  public void draw(Graphics g, int number, int x, int y) {
    if (imgNumber == null) {
      return;
    }

    final int numberWidth = imgNumber.getWidth() / 10; // 数字宽度
    final int numberHeight = imgNumber.getHeight(); // 数字高度

    // 把待显示的数字变成字符串
    final String szNumber = Integer.toString(number);

    int pX = x; // 待显示位置的横座标

    for (int i = 0; i < szNumber.length(); i++) {
      g.setClip(pX, y, numberWidth, numberHeight);
      try {
        g.drawImage(imgNumber, pX - (szNumber.charAt(i) - 48) * numberWidth, y,
                    Graphics.TOP | Graphics.LEFT);
      }
      catch(Exception e) {}
      pX += numberWidth;
    }
  }
}

⌨️ 快捷键说明

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