您的位置:首页 > 其它

Display.getDisplay(MIDlet m)方法与display.setCurrent(Dispalyable disp)方法

2010-07-31 22:29 405 查看
import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

public class helloMyFriend extends MIDlet

{

Display display;

Form form;

public helloMyFriend()

{

display=Display.getDisplay(this);

form=new Form("游戏天地");

form.append("欢迎光临!游戏制作世界/n朋友们快加入手机游戏制作");

}

public void startApp()

{

display.setCurrent(form);

}

public void pauseApp(){}

public void destroyApp(boolean unconditional){}

}

对于display=Dispaly.getDisplay(this),this代表的是什么?

一:MIDlet对象?

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

public class helloMyFriend extends MIDlet

{

Display display;

Form form;

public helloMyFriend()

{

display=Display.getDisplay(new MIDlet());

form=new Form("游戏天地");

form.append("欢迎光临!游戏制作世界/n朋友们快加入手机游戏制作");

}

public void startApp()

{

display.setCurrent(form);

}

public void pauseApp(){}

public void destroyApp(boolean unconditional){}

}

可是javax.microedition.midlet.MIDlet 是抽象的;无法对其进行实例化。

二:helloMyFriend对象?

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

public class helloMyFriend extends MIDlet

{

Display display;

Form form;

public helloMyFriend()

{

display=Display.getDisplay(new helloMyFriend());

form=new Form("游戏天地");

form.append("欢迎光临!游戏制作世界/n朋友们快加入手机游戏制作");

}

public void startApp()

{

display.setCurrent(form);

}

public void pauseApp(){}

public void destroyApp(boolean unconditional){}

}

虽然编译无错,但运行后启动不了!

也搞不清楚this到底代表的什么.........

对于dispaly.setCurrent(form),该函数的形参为Dispalyable类型的对象,而form在这里为什么合法?

form是Form类型的对象,而Form是Screen类的派生类,Screen是Dispalyable类的派生类。又因为派生类的对象具有所有祖先类的类型。所以form用在这里合理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐