📄 welcom.java
字号:
package com.dfun.blackjack;
import javax.microedition.lcdui.*;
import com.nokia.mid.ui.*;
/**************************************************
* @author Beetle
* 类功能介绍:欢迎画面
**************************************************/
public class Welcom
extends FullCanvas
implements Runnable {
/*******************************************************
* 定义公共变量
*******************************************************/
private int width, height; //屏幕宽高
private int bgWidth, bgHeight; //画布宽高
private int balanceHeight, balanceWidth; //128,128屏幕与现在屏幕的差别
private Display display; //显示管理器
private Image bufferImg; //双缓存图片
private Graphics bg; //双缓存画布
private Thread refresh; //刷新线程
private Thread initNet; //初始化网络连接线程
private boolean isRefresh; //是否进行刷新
private Image img[]; //图片数组
private Main main; //主控程序
private Connection conn; //连接对象
private int plan; //进度条的进度值
private int hint; //提示的状态
private boolean isHint; //是否提示
/*******************************************************
* 功能介绍:构造函数
* 输入参数:显示管理,连接对象,手机号码,主程序
*******************************************************/
public Welcom(Display display, Connection conn, Main main) {
/*******************************************************
* 初始化公共变量
*******************************************************/
this.main = main;
this.display = display; //初始化显示管理器
this.conn = conn; //连接对象
isRefresh = true; //默认持继刷新
isHint = true; //默认提示
width = getWidth(); //初始化屏幕宽度
height = getHeight(); //初始化屏幕高度
bgWidth = 176; //画布宽
bgHeight = 208; //画布高
bufferImg = Image.createImage(176, 208); //创建双缓存图像
try {
bg = bufferImg.getGraphics(); //创建双缓存画布
}
catch (Exception e) {
System.out.println("load image error");
}
bg.setFont(Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_PLAIN, Font.SIZE_SMALL));
img = main.loadImg(1); //装入欢迎画面的图片
plan = 36; //默认进度为零
refresh = new Thread(this); //进行持续刷新
refresh.start(); //启动刷新
initNet = new Thread(this); //进行初始化连接网络
initNet.start();
}
public void paint(Graphics g) {
try {
if (isRefresh == true) {
backDrop();
showGauge();
g.drawImage(bufferImg, width / 2, height / 2, Graphics.HCENTER | Graphics.VCENTER); //将双缓存图片绘到屏幕上
}
}
catch (Exception e) {
System.out.println("welcom paint error");
}
}
public void run() {
if (Thread.currentThread() == refresh) { //刷新线程
try {
while (isRefresh) {
Thread.sleep(80); //按指定毫秒刷一次屏
repaint();
}
}
catch (Exception e) {
}
}
if (Thread.currentThread() == initNet) { //初始化gprs并预先取得房间及用户总分
if (conn.initNet()) {
isRefresh = false;
conn.sendUserInfo(main.strPhoneNumber, main.strUserName, main.strPassword); //发送用户信息
if (conn.getHouseList()) { //读取房间列表
main.showHall();
}
else {
display.setCurrent(new Alert("系统提示", "对不起连不到服务器,请稍后重试!", null, AlertType.INFO));
main.exit();
}
}
else {
display.setCurrent(new Alert("系统提示", "对不起连不到服务器,请稍后重试!", null, AlertType.INFO));
main.exit();
}
return;
}
}
/*****************************************************
* 功能介绍:初始化网络,显示进度条
* 输入参数:无 36 154
* 输出参数:无
******************************************************/
public void showGauge() {
if (plan < 129) {
plan = plan + 1;
}
for (int i = 36; i <= plan; i++) {
bg.drawImage(img[1], i, 153, Graphics.LEFT | Graphics.TOP);
}
}
/******6583151
* ************************************************
* 功能介绍:显示背景
* 输入参数:无
* 输出参数:无
****************************************************/
public void backDrop() {
bg.setColor(0x000000);
bg.drawImage(img[0], 0, 0, Graphics.TOP | Graphics.LEFT);
bg.setColor(0x0066cc);
}
public void keyPressed(int keyCode) {
if (getGameAction(keyCode) == Canvas.FIRE) {
main.exit();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -