?? 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 + -