您的位置:首页 > 其它

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

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文件结束

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息