⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stackmidlet.java

📁 j2me简单实例,j2me教程加源码,希望大家喜欢
💻 JAVA
字号:
package com.j2medev.chapter3;

import java.util.Stack;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class StackMIDlet extends MIDlet{
    
    private static Stack ui = new Stack();
    private static Display display = null;
    public static StackMIDlet instance = null;
    public static final Command exit = new Command("exit",Command.EXIT,1);
    public static final Command back = new Command("back",Command.BACK,2);
    
    public StackMIDlet(){
        instance = this;
    }
    
    public void startApp() {
        if(display == null){
            display = Display.getDisplay(this);
            SplashCanvas splash = new SplashCanvas();
            display.setCurrent(splash);
        }
    }
    
    public void pauseApp() {
    }
    
    public void destroyApp(boolean unconditional) {
    }
    
    public static void goBack(){
        ui.pop();
        display.setCurrent((Displayable)ui.peek());
        instance.debug();
    }
    
    public static void moveNext(Displayable displayable){
        instance.addCommand(displayable);
        instance.push(displayable);
        display.setCurrent(displayable);
        instance.debug();
    }
    
    private void addCommand(Displayable displayable){
        String name = displayable.getClass().getName();
        displayable.addCommand(exit);
        if(!name.endsWith("MainMenu")&&!name.endsWith("WaitCanvas")){
            displayable.addCommand(back);
        }
    }
    
    private void push(Displayable displayable){
        String name = displayable.getClass().getName();
        if(!name.endsWith("WaitCanvas")){
            if(name.endsWith("MainMenu")){
                if(!ui.empty()){
                    ui.removeAllElements();
                }
            }
            ui.push(displayable);
        }
    }
    
    public static void moveNext(Alert alert,Displayable next){
        instance.addCommand(next);
        instance.push(next);
        display.setCurrent(alert,next);
        instance.debug();
    }
    
    public static void handleCommandAction(Command cmd,Displayable displayable){
        if(cmd.getCommandType()==Command.BACK){
            goBack();
        }else if(cmd.getCommandType()==Command.EXIT){
            instance.destroyApp(false);
            instance.notifyDestroyed();
        }
    }
    
    private void debug(){
        System.out.println("-- stack top --");
        for(int i=instance.ui.size()-1; i>=0; i--) {
            Object obj = instance.ui.elementAt(i);
            System.out.println(obj.getClass().getName());
        }
        System.out.println("-- stack bottom --");
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -