gpt4 book ai didi

java-me - (J2ME) 从其他类获取 MIDlet 的引用?

转载 作者:行者123 更新时间:2023-12-02 10:40:04 24 4
gpt4 key购买 nike

我正在尝试创建一个类,可以在 midlet (Main) 类之外设置屏幕上的内容(例如将表单设置为显示,等等。)
所以我想我必须输入并更改 Main 的变量 display,但我遇到了错误。

这是整个程序:

//Main.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Main extends MIDlet {

public Other othr = new Other(this);
public Display display = Display.getDisplay(this);
public void startApp() {
display.setCurrent(othr);
}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}
}


//Other.java
import javax.microedition.lcdui.*;
public class Other extends Canvas{

Form a = new Form("a");
public TextEdit(Main mc){
//HERE IT IS!
mc.display.getDisplay(mc).setCurrent(a);
//If I comment out the above, I get no error.

}
protected void paint(Graphics g) {
//Nothing yet
}

}

我总是收到错误“应用程序意外退出”

我还尝试将 mc.display.getDisplay(mc).setCurrent(a); 替换为 Display.getDisplay(mc).setCurrent(a);,然后没有显示错误,但是 Form a 根本不显示。

这可能是一个愚蠢的错误,但我迷路了

我能做什么?

最佳答案

这是您代码中的一个小错误。对代码进行如下更改。

//Main.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Main extends MIDlet {

public Other othr ;
public Display display ;
public void startApp() {
display= Display.getDisplay(this);
othr=new Other(this);
display.setCurrent(othr);
}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}
}

然后检查你的其他看起来像这样,确保你想要的 Form 或 Canvas 都是不同的。

像这样形成你的代码

//Other.java
import javax.microedition.lcdui.*;
public class Other {

Form a ;
public Other(Main mc){
//HERE IT IS!
a=new Form("a");
Display.getDisplay(mc).setCurrent(a);
//If I comment out the above, I get no error.

}

}

对于 Canvas ,请检查这个

/Other.java
import javax.microedition.lcdui.*;
public class Other extends Canvas{

public Other(Main mc){
//HERE IT IS!
Display.getDisplay(mc).setCurrent(this);
//If I comment out the above, I get no error.

}
protected void paint(Graphics g) {
//Nothing yet
}

}

这会对您有所帮助,注意::检查 Canvas 和 Forms 之间的差异。

关于java-me - (J2ME) 从其他类获取 MIDlet 的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10306178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com