奇怪的问题

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);
}
...全文
33 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sniper_bat 2004-04-15
  • 打赏
  • 举报
回复
controller = new UIController(MiniTicketMidlet.this);
|
V
controller = new UIController(this);
muzg 2004-04-15
  • 打赏
  • 举报
回复
楼上mainmenu = new MainMenuUI(UIController.this);///////就是这里执行不了!!!
UIController.this这个有没有初始化或事例化。

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧