choice.append(Title.detail, null); this.append(nameField); this.append(mobileField); this.append(choice); this.addCommand(saveCommand); this.addCommand(backCommand); this.setCommandListener(this); this.setItemStateListener(this); } Canvas类代表了MIDP的低级用户界面,它是一个抽象类。你需要继承Canvas并实现它的抽象方法paint(Graphics g)来构建你自己的Canvas实例。Paint()方法中的参数g非常重要。因为通过它提供的方法你才能在屏幕上绘画你的界面。如果有时间您应该多多研究一下Canvas类和Graphics类。在个人通信录中我们提供了一个WaitCanvas类并通过它构建了Dialog组件。从下面的代码中您能学会如何使用Canvas类。 package com.north.phonebook.ui; import java.util.*; import javax.microedition.lcdui.*;
public class WaitCanvas extends Canvas {
private int mCount, mMaximum; private int mInterval;
private int mWidth, mHeight, mX, mY, mRadius; private String mMessage; private boolean run = false;
public WaitCanvas(String message, boolean run) { this.mMessage = message; mCount = 0; mMaximum = 36; mInterval = 100;
mWidth = getWidth(); mHeight = getHeight();
// Calculate the radius. int halfWidth = (mWidth - mRadius) / 2; int halfHeight = (mHeight - mRadius) / 2; mRadius = Math.min(halfWidth, halfHeight);
// Calculate the location. mX = halfWidth - mRadius / 2; mY = halfHeight - mRadius / 2;
// Create a Timer to update the display. if (run) { TimerTask task = new TimerTask() { public void run() { mCount = (mCount + 1) % mMaximum; repaint(); } }; Timer timer = new Timer(); &n 上一页 [1] [2] [3] [4] [5] [6] [7] 下一页 |