蓝牙休闲娱乐平台(毕业设计)第二部份
2008-03-08 22:02
555 查看
接着,我向大家简要的介绍一下在编程过程所用到的技术与方法
1. JSR82-蓝牙编程API
2. 多线程编程模式
3. 客户端/服务器编程模式
最后,我也是简要的介绍project里边的每个类
如图是project的结构目录图(eclipse3.2/WTK2.5/JDK1.5)
如上图所示 flat包中的FlatMainMDlet.java文件中的FlatMainMIDlet类是整个程序的主类
功能当然是控制整个程序的流程与个人子程序界面的显示了。这个类没有什么技术可说的,一个很普通的类。
代码如下:
flat包中其它的类也比较简单我也不用多说什么。看相应的文件会有注释的。
代码如下:
/** *//**
* Copyright@scholar_ii
* @author 梧州学院 04计本2班 罗功武
* date 08/02/24
*/
package flat;
import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
/** *//**
* FlatMainMIDlet 游戏娱乐平台的主类
* 责负整个平台的运作
*/
public class FlatMainMIDlet extends MIDlet ...{
/**//*登录窗口*/
protected LoginWindow loginWindow = null;
/**//*游戏娱乐平台的菜单*/
protected MainMenu flatMenu = null ;
private boolean isFirst = true;
public Display display = null;
/** *//**
* 休闲娱乐平台的初使化 FlatMainMIDlet的构造函数
* 进行游戏的初使化
*/
public FlatMainMIDlet() ...{
display = Display.getDisplay(this);
}
/** *//**程序结束*/
protected void destroyApp(boolean uncondition) throws MIDletStateChangeException ...{
notifyDestroyed();
}
/** *//**程序暂停*/
protected void pauseApp() ...{
}
/** *//**程序开始*/
protected void startApp() throws MIDletStateChangeException ...{
if(isFirst)
loginWindow = new LoginWindow(this);
display.setCurrent(loginWindow);
isFirst = false;
}
/** *//**显示主菜单*/
public void showFlatMenu()
...{
if(flatMenu!=null)
...{
display.setCurrent(flatMenu);
}
}
/** *//**退出休闲平台*/
public void exitFlat()
...{
try ...{
destroyApp(true);
} catch (MIDletStateChangeException e) ...{
}
}
}/**//*FlatMainMIDlet.java文件结束*/
/** *//**
* Copyright@scholar_ii
* @author 梧州学院 04计本2班 罗功武
* date 08/02/26
*/
package flat;
import java.io.IOException;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.ImageItem;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDletStateChangeException;
/** *//**
*
* LoginWindow类
* 用户的登录窗口,主要是记录用用户娱乐妮称
*/
public class LoginWindow extends Form implements CommandListener ...{
/**//*娱乐平台的主类*/
private FlatMainMIDlet flatMainMidlet;
/**//*退出命令按键*/
private static final Command cmdExit = new Command("退出",Command.EXIT,1);
/**//*登录命令按键*/
private Command cmdLogin = new Command("登录",Command.OK,1);
/**//*用户妮称输入框*/
private static final TextField inputField =
new TextField("娱乐妮称:", "",10,TextField.ANY);
/**//*警告提示窗口*/
private static final Alert errAlert =
new Alert("输入有误","请输入娱乐妮称",null,AlertType.ALARM);
private ImageItem imageItem = null;
/** *//**
* LoginWindow()构造方法
* 完成LoginWindow类的初使化
* @param midlet 休闲娱乐平台的主类
* @return 无
*/
public LoginWindow(FlatMainMIDlet flatMainMidlet)...{
super("梧州学院04计本二");
this.flatMainMidlet = flatMainMidlet;
addCommand(cmdExit);
addCommand(cmdLogin);
setCommandListener(this);
try ...{
Image image = Image.createImage("/logo.png");
imageItem = new ImageItem("",image,
ImageItem.LAYOUT_CENTER,"图片无法显示");
} catch (IOException e) ...{
System.out.println("图片加载出错!");// TODO Auto-generated catch block
e.printStackTrace();
}
append(imageItem);
append(inputField);
}
/** *//**
* commandAction()方法
* 处理用户的输入操作
* @param command , displayable
* @return void
*/
public void commandAction(Command command , Displayable displayable) ...{
if(command == cmdExit)//退出平台
...{
try...{
flatMainMidlet.destroyApp(true);
}catch(MIDletStateChangeException e)...{
}
}
else if(command == cmdLogin)
...{
if(checkLogin())//正确登陆
...{
flatMainMidlet.flatMenu = new MainMenu(flatMainMidlet,inputField.getString());
flatMainMidlet.display.setCurrent(flatMainMidlet.flatMenu);
}
else//错误处理
...{
flatMainMidlet.display.setCurrent(errAlert, this);
}
}
}
/** *//**
* checkLogin()方法
* 用于检查用户的输入是法合法
* @param void
* @return boolean
*/
public boolean checkLogin()
...{
if(inputField.getString().equals(""))
return false;
else
return true;
}
}/**//*LoginWindow类文件结束*/
/** *//**
* Copyright@scholar_ii
* @author 梧州学院 04计本2班 罗功武
* date 08/02/25
*/
package flat;
import game.GameServer;
import java.io.IOException;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.List;
import javax.microedition.lcdui.Ticker;
import javax.microedition.midlet.MIDletStateChangeException;
import common.RoomList;
import chat.MultiChatRoomServer;
import chat.PairChatRoomServer;
/** *//**
* MainMenu类 平台主菜单类
* 对用户提供GUI功能
* 显示娱乐平台的功能
*/
public class MainMenu extends List implements CommandListener ...{
/**//*娱乐平如的主类*/
private FlatMainMIDlet flatMainMidlet;
/**//*退出命令按键*/
private final static Command cmdExit = new Command("退出平台",Command.EXIT,1);
/**//*窗口的滚动标题*/
private final static Ticker ticker = new Ticker("我的平台,我做主!");
/**//*用于存贮用户的娱乐妮称*/
private String userName;//用户名
/** *//**
* 游戏娱乐平台的菜单的构造函数
* @param midlet
* @return 无
*/
public MainMenu(FlatMainMIDlet midlet ,String name)
...{
super("蓝牙休闲娱乐平台", List.IMPLICIT);
this.flatMainMidlet = midlet;
this.userName = name;
System.out.println(name);
Image image1 = null;
Image image2 = null;
Image image3 = null;
Image image4 = null;
Image image5 = null;
Image image6 = null;
Image image7 = null;
Image image8 = null;
try...{
image1 = Image.createImage("/item1.png");
image2 = Image.createImage("/item2.png");
image3 = Image.createImage("/item3.png");
image4 = Image.createImage("/item4.png");
image5 = Image.createImage("/item5.png");
image6 = Image.createImage("/item6.png");
image7 = Image.createImage("/item7.png");
image8 = Image.createImage("/item8.png");
}catch(IOException err)...{
System.out.println("图片加载错误");
}
append("新建双人聊天室",image1);
append("新建多人聊天室",image2);
append("加入双人聊天室",image3);
append("加入多人聊天室",image4);
append("新建互动娱乐游戏",image5);
append("加入互动娱乐游戏",image6);
append("游戏平台的帮助与介绍",image7);
append("退出蓝牙游戏娱乐平台",image8);
addCommand(cmdExit);
setTicker(ticker);
setCommandListener(this);
}
/** *//**
* commandAction()方法
* 处理用户的输入操作
* @param command , displayable
* @return void
*/
public void commandAction(Command command, Displayable displayable) ...{
if(command == cmdExit)//退出游戏娱乐平台
...{
flatMainMidlet.exitFlat();
}
else...{
if(command == List.SELECT_COMMAND)//进相应的游戏娱乐平台的功能
...{
switch(((List)displayable).getSelectedIndex())
...{
case 0://新建双人聊天室
flatMainMidlet.display.setCurrent(
new PairChatRoomServer(flatMainMidlet,userName));
break;
case 1://新建多人聊天室
flatMainMidlet.display.setCurrent(
new MultiChatRoomServer(flatMainMidlet,userName));
break;
case 2://加入双人聊天室
flatMainMidlet.display.setCurrent(
new RoomList("开放的双人聊天室",flatMainMidlet,userName,
"11111111111111111111111111111111",1));
break;
case 3://加入多人聊天室
flatMainMidlet.display.setCurrent(
new RoomList("开放的多人聊天室",flatMainMidlet,userName,
"22222222222222222222222222222222",2));
break;
case 4://新建互动娱乐游戏
flatMainMidlet.display.setCurrent(
new GameServer(flatMainMidlet,userName));
break;
case 5://加入互动娱乐游戏
flatMainMidlet.display.setCurrent(
new RoomList("开放的游戏房间",flatMainMidlet,userName,
"33333333333333333333333333333333",3));
break;
case 6://游戏平台的帮助与介绍
flatMainMidlet.display.setCurrent(new HelpWindow(), this);
break;
case 7://退出蓝牙游戏娱乐平台
try...{
flatMainMidlet.destroyApp(true);
}catch(MIDletStateChangeException e)...{
}
break;
}
}
}
}
}//MainMenu.java文件结束
相关文章推荐
- 蓝牙休闲娱乐平台(毕业设计)第一部份
- 蓝牙休闲娱乐平台(毕业设计)第三部份
- 蓝牙休闲娱乐平台(毕业设计)第四部份
- 蓝牙休闲娱乐平台(毕业设计)第五部份
- 蓝牙休闲娱乐平台(毕业设计)第六部份
- 蓝牙休闲娱乐平台(毕业设计)第七部份
- 蓝牙休闲娱乐平台(毕业设计)第七部份
- 蓝牙休闲娱乐平台(毕业设计)第八部份
- 使用APICloud平台一周时间开发出休闲娱乐内容类APP
- 休闲娱乐精灵 是什么
- 毕业设计总结篇之中篇——基于android的创意展示平台(混合app)
- android平台蓝牙编程
- 2015年5月9日公开课第二季―《自动化运维平台的设计理念》
- 低功耗蓝牙开发权威指南第二部分-控制器
- 中国象棋V2:Java源代码、毕业设计等所有文档,已经全部提交到CSDN-Code平台
- VMware View把iPad从娱乐工具变成强大办公平台
- Msm8960(APQ8064)平台的MSM-AOSP-kitkat编译适配(8):wifi与蓝牙
- 在NetBeans平台上开发J2ME游戏实例讲解(第二部分)
- hadoop日志分析系统二 第二部分利用hadoop平台进行数据处理 第三种方式 hive+sqoop+zookeeper方式