TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import java.util.*;
public class FlowControl extends MIDlet{
boolean init = true;
public FlowControl(){
Navigator.display = Display.getDisplay(this);
Navigator.midlet = this;
}
protected void startApp(){
Navigator.current = Navigator.MAIN_SCREEN; Navigator.show(null); if(init){
Alert splash = new Alert("启动画面"); splash.setType(AlertType.CONFIRMATION); //用户确认类型 splash.setTimeout(5000);
Navigator.display.setCurrent(splash);
init = false;
}
}
protected void pauseApp(){}
protected void destroyApp(boolean u){} }
- class Navigator{
- final public static int MAIN_SCREEN = 1;
- final public static int GAME_SCREEN = 2;
- final public static int SET_SCREEN = 3;
- final public static int SET_HELP_SCREEN = 4;
- final public static int GAME_HELP_SCREEN = 5;
- public static MIDlet midlet;
- public static Display display;
- public static int current = 1;
- public static void show(Object obj){
- switch(current){
- case MAIN_SCREEN:
- display.setCurrent(MainScreen.getInstance());
- break;
- case GAME_SCREEN:
- display.setCurrent(GameScreen.getInstance());
- break;
- case SET_SCREEN:
- display.setCurrent(SetScreen.getInstance());
- break;
- case SET_HELP_SCREEN:
- display.setCurrent(new HelpScreen((String)obj));
- break;
- case GAME_HELP_SCREEN:
- display.setCurrent(new HelpScreen((String)obj));
- break;
- }
- }
- public static void flow(String cmd){
- switch(current){
- case MAIN_SCREEN:
- if(cmd.equals("开始")){
- current = GAME_SCREEN;
- show(null);
- }else if(cmd.equals("设置")){
- current = SET_SCREEN;
- show(null);
- }else if(cmd.equals("版权声明")){
- display.setCurrent(CopyrightScreen.getInstance());
- show(null);
- }else if(cmd.equals("离开")){
- midlet.notifyDestroyed();
- }
- break;
- case GAME_SCREEN:
- if(cmd.equals("规则介绍")){
- current = GAME_HELP_SCREEN;
- show("游戏规则介绍");
- }else if(cmd.equals("返回")){
- current = MAIN_SCREEN;
- show(null);
- }
- break;
- case SET_SCREEN:
- if(cmd.equals("设置说明")){
- current = SET_HELP_SCREEN;
- show("设置方式");
- }else if(cmd.equals("返回")){
- current = MAIN_SCREEN;
- show(null);
- }
- break;
-
- case GAME_HELP_SCREEN:
- if(cmd.equals("返回")){
- current = GAME_SCREEN;
- show(null);
- }
- break;
- case SET_HELP_SCREEN:
- if(cmd.equals("返回")){
- current = SET_SCREEN;
- show(null);
- }
- break;
- }
- }
- }
- //帮助说明界面 Singleton模式
- class HelpScreen extends Form implements CommandListener{
- public HelpScreen(String c){
- super("帮助说明");
- append(c);
- addCommand(new Command("返回",Command.OK,1));
- setCommandListener(this);
- }
- public void commandAction(Command c,Displayable d){
- Navigator.flow(c.getLabel());
- }
- }
- //版权界面 Singleton模式
- class CopyrightScreen extends Alert{
- private static Displayable instance;
- synchronized public static Displayable getInstance(){
- if(instance == null){
- instance = new CopyrightScreen();
- }
- return instance;
- }
- private CopyrightScreen(){
- super("版权声明");
- setString("此应用程序之版权归NIIT教研室所有");
- setType(AlertType.INFO);
- setTimeout(Alert.FOREVER);
- }
- }
- //主界面 Singleton模式
- class MainScreen extends List implements CommandListener{
- private static Displayable instance;
- synchronized public static Displayable getInstance(){
- if(instance == null){
- instance = new MainScreen();
- }
- return instance;
- }
- private MainScreen(){
- super("主菜单",List.IMPLICIT);
- append("开始",null);
- append("设置",null);
- append("版权声明",null);
- append("离开",null);
- setCommandListener(this);
- }
- public void commandAction(Command c,Displayable d){
- String cmd = getString(getSelectedIndex());
- Navigator.flow(cmd);
- }
- }
- //设置主界面 Singleton模式
- class SetScreen extends Form implements CommandListener{
- private static Displayable instance;
- TextField url = null;
- Gauge volume = null;
- synchronized public static Displayable getInstance(){
- if(instance == null){
- instance = new SetScreen();
- }
- return instance;
- }
- private SetScreen(){
- super("设置");
- url = new TextField("请输入服务器的设置","socket://127.0.0.1:99",40,TextField.URL);
- append(url);
- volume = new Gauge("音量",true,10,3);
- append(volume);
- addCommand(new Command("设置说明",Command.HELP,1));
- addCommand(new Command("返回",Command.BACK,1));
- setCommandListener(this);
- }
- public void commandAction(Command c,Displayable d){
- Navigator.flow(c.getLabel());
- }
- }
- //游戏主界面 Singleton模式
- class GameScreen extends Form implements CommandListener{
- private static Displayable instance;
- TextField url = null;
- Gauge volume = null;
- synchronized public static Displayable getInstance(){
- if(instance == null){
- instance = new GameScreen();
- }
- return instance;
- }
- private GameScreen(){
- super("游戏");
- addCommand(new Command("规则介绍",Command.HELP,1));
- addCommand(new Command("返回",Command.BACK,1));
- setCommandListener(this);
- }
- public void commandAction(Command c,Displayable d){
- Navigator.flow(c.getLabel());
- }
- }
- 运行图:
- [img]http://img.javaxxz.com/2014/10/11/081114296.jpg[/img]
复制代码
源码下载:http://203.93.208.26/kj/cwb/dir7/FlowControl.zip |
|