registerguage.java

来自「手机在线系统 采用Java 中的J2ME, JSP 跟MySql 运行环」· Java 代码 · 共 140 行

JAVA
140
字号
/*
 * @(#)RegisterGuage.java	1.11 01/08/23
 * Copyright (c) 2004-2005 wuhua of workroom Inc. All Rights Reserved.
 * @version 	1.0, 10/05/2004
 * @author 	饶荣庆
 * @author 	余煜辉
 */

package com.j2me.main;

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

/**
 *此类实现手机终端联网时联网的进度显示
 *利用Cavans,与Timer类来实现
 */
public class RegisterGuage  extends Canvas 
{
	/*显示类*/
	private  Display display;
	
	/*连网成功后要显示的界面类*/
	private  Displayable displayAble;
	
	/*特别处理注册后要显示哪个窗体*/
	private RegisterForm register;
	private LoginForm login;
	private int i = 30; //定义进度的变量
	private int percent; //定义进度百分比
	Timer timer; //记时器类
    
	public RegisterGuage()
	{
	    timer= new Timer();
		ScrollTask st = new ScrollTask();	//每个时间隔要运行程序的内部对象
		this.timer.schedule(st, 10, 10);   //锁定时间进度为0.1秒,并放置这个时间隔要运行的程序。
	}
	
	/*显示窗体的方法*/
	public  void showForm(Display display, Displayable displayAble, RegisterForm register, LoginForm login)	//用来显示界面
	{
		this.display = display;
	   	this.displayAble = displayAble;
		this.register = register;
		this.login = login;
		this.display.setCurrent(this);
	}	
	
	/*得到百分比数*/
	public int getPercent()
	{
		return percent;
	}

	public void paint(Graphics g)
	{
		Image image = null;
		g.setColor(255, 255, 255);					   //设置底色为白色
		g.fillRect(0, 0, this.getWidth(), getHeight());				 //填充为白色
		try
		{
			image = Image.createImage("/icon/jabout.png");		  //创建相片
		}
		catch(IOException e)
		{
		}
		catch(IllegalArgumentException e)	   //抓不住异常
		{
			g.setColor(255, 0, 0);
			g.drawString(e.toString(), 0, this.getHeight()/2,  g.TOP|g.LEFT);
		}
		try
		{
			g.drawImage(image, image.getWidth()/2,  image.getHeight()/2, g.VCENTER|g.HCENTER);
		}
		catch(NullPointerException e)
		{
			g.setColor(255, 0, 0);
			g.drawString(e.toString(), 0, this.getHeight()/2,  g.TOP|g.LEFT);
		} 

		//绘制文字
		g.setColor(255, 135, 23);
		g.drawString(" In process of connection", this.getWidth()/2 - 70 , this.getHeight()/2 + 20 ,  g.TOP|g.LEFT);
		g.drawString("Register " + percent + "%", this.getWidth()/2 - 50 , this.getHeight()/2 + 40 ,  g.TOP|g.LEFT);

		//绘制矩形,用于显示进度条
		g.setColor(0);
		g.drawRect(30, this.getHeight()/2 + 60, this.getWidth() - 60, 20);
		
		//用填充矩形来显示进度条
		g.setColor(255, 111, 255);
		g.fillRect(30, this.getHeight()/2 + 60, i, 20);
	}


	
    private class ScrollTask extends TimerTask	  //内部类对象,用于动画的计时器
    {
        public void run()
        {           
            if (i <= (getWidth() - 60))   
            {
                i = i + 2;	
				if (percent < 100)
				{	
					percent++;
					if (i == (getWidth() - 60))
					{
						percent = 100;
					}
					
				}								
                repaint();
				if (percent == 100)
				{
					//判断是否成功,并作出相应的用户界面
					if (register.isRegister())
					{
						display.setCurrent(register.errorAlert, login);

					}
					else
					{
						display.setCurrent(register.errorAlert, register);
					}
					
				}
            } 
			else
            {
				//取消记时器
                timer.cancel();
            }
        }
    }
}

⌨️ 快捷键说明

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