蓝牙休闲娱乐平台(毕业设计)第二部份

  
接着,我向大家简要的介绍一下在编程过程所用到的技术与方法
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文件结束
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值