奇怪的问题
saoyu 2004-04-15 08:31:21 midlet一执行就出错,出错信息null,郁闷
MiniTicketMidlet.java如下
package miniticket;
import javax.microedition.midlet.*;
import miniticket.UI.UIController;
import miniticket.Model.ModelFacade;
/**
* <p>Title: miniticket</p>
* <p>Description: miniticket</p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: hrbeu</p>
* @author saoyu,panhao,chenyajun
* @version 0.5.0
*/
public class MiniTicketMidlet extends MIDlet {
private UIController controller;
private ModelFacade model;
public MiniTicketMidlet() {
}
public void startApp() {
new Thread(){
public void run(){
try{
controller = new UIController(MiniTicketMidlet.this);
model = new ModelFacade();
controller.init(model);
}catch(Exception e){
System.out.println("start error");
}
}
}.start();
}
public void pauseApp() {
System.out.println("destroyApp()");
}
public void destroyApp(boolean unconditional) {
try {
System.out.println(model);
//model.destroy();
} catch (Exception e) {
e.printStackTrace();}
}
public void quitApp() {
System.out.println("exiting...");
destroyApp(false);
notifyDestroyed();
}
}
UIController.java 如下
package miniticket.UI;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import miniticket.MiniTicketMidlet;
import miniticket.Model.ModelFacade;
import miniticket.Model.*;
import miniticket.resource.StrRes;
public class UIController implements CommandListener {
public static class EventIds{
public static final byte EVENT_CHOOSE_SEARCH = 1,
EVENT_CHOOSE_ORDER = 2,
EVENT_CHOOSE_VIEW = 3;
private EventIds(){};
}
public MiniTicketMidlet midlet;
private Display display;
private ModelFacade model;
public StrRes resource; //String Resource
private Command exitCommand;
private Command mainmenuCommand;
private MainMenuUI mainmenu;
public UIController(MiniTicketMidlet midlet) {
this.midlet = midlet;
}
public void init(ModelFacade model){
this.display = Display.getDisplay(midlet);
this.model = model;
//try{
//setCurrent(new ImageCanvas(resource.welcome_path,resource.welcome_text));
//}catch(Exception e){System.out.println(e.getMessage());}
try{
mainmenu = new MainMenuUI(UIController.this);///////就是这里执行不了!!!
exitCommand = new Command(resource.command_exit,Command.SCREEN,1);
mainmenuCommand = new Command(resource.command_mainmenu,Command.SCREEN,1);
setCommands(mainmenu);
setCurrent(mainmenu);
}catch(Exception e){System.out.println("error");}
}
/*添加命令按钮*/
private void setCommands(Displayable displayable) {
if (displayable != mainmenu) {
displayable.addCommand(mainmenuCommand);
}
displayable.addCommand(exitCommand);
}
/*命令按钮事件处理*/
public void commandAction(Command c,Displayable d){
if (c == mainmenuCommand) {
setCurrent(mainmenu);
} else if (c == exitCommand) {
/**/
}
}
/*显示当前屏幕*/
public void setCurrent(Displayable d) {
display.setCurrent(d);
}
public void setCurrent(Alert a, Displayable d) {
display.setCurrent(a, d);
}