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 + -
显示快捷键?