Я пытаюсь создать класс, который может устанавливать то, что находится на экране (например, установить форму для отображения, что угодно) вне класса мидлета (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);
, тогда ошибка не отображается, но форма a вообще не отображается.
Вероятно, это будет глупая ошибка, но я потерялся
Что я могу сделать?