'da yakalandı Şu anda Netbeans'de MIDlet'lerle (Visual MIDlet kullanıyorum) çalışıyorum ve NullPointerException atılıyor ama nedenini bilmiyorum.J2ME (Java) - Null Pointer Exception Sınıfı
Not: Program, emülatörde çalışırken, yalnızca Tamam Komutu düğmesine basıldığında istisna atılmaz. İşte
Ben Kolay okunması böylece ben, istisna ile ilgili olmayan tüm kod dışarı çalmıştırTRACE: <at java.lang.NullPointerException: 0>, Exception caught in Display class
java.lang.NullPointerException: 0
at javax.microedition.lcdui.Display$ChameleonTunnel.callScreenListener(), bci=46
at com.sun.midp.chameleon.layers.SoftButtonLayer.processCommand(), bci=74
at com.sun.midp.chameleon.layers.SoftButtonLayer.soft1(), bci=37
at com.sun.midp.chameleon.layers.SoftButtonLayer.keyInput(), bci=36
at com.sun.midp.chameleon.CWindow.keyInput(), bci=38
at javax.microedition.lcdui.Display$DisplayEventConsumerImpl.handleKeyEvent(), bci=17
at com.sun.midp.lcdui.DisplayEventListener.process(), bci=277
at com.sun.midp.events.EventQueue.run(), bci=179
at java.lang.Thread.run(Thread.java:619)
olsun hatadır. Aşağıda, yukarıdaki istisnayı atan kodun basitleştirilmiş bir sürümü var.
package stMidlet;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class StoryMidlet extends MIDlet implements CommandListener {
private boolean midletPaused = false;
private Command commandOk1;
private Form form1;
private TextField textField1;
public StoryMidlet() {
commandOk1 = new Command("Ok", Command.OK, 1);
textField1 = new TextField("Enter value: ", null, 120, TextField.ANY);
form1 = new Form(null, new Item[]{textField1});
form1.addCommand(commandOk1);
Display.getDisplay(this).setCurrent(form1);
}
/* There were some methods here pre-inserted by netbeans. */
/* I have not changed these, but I can post them if you need me too */
/* initialize() */
/* startMIDlet() */
/* resumeMidlet() */
/* switchDisplayable */
/* getDisplay() */
/* exitMidlet() */
/* startApp() */
/* pauseApp() */
/* destroyApp() */
public void commandAction(Command c, Displayable d) {
if (c == commandOk1)
{
System.out.println("Test");
}
}
}
hiçbir hakim olan, en az bir saat boyunca bu çözmeye çalışıyorlar. Ben bahsetmemiz düşünebilirsiniz tek şey:
- Netbeans yapıcı bir sızıntı olduğunu ifade etti ..... çizgi Display.getDisplay (this) ile bir uyarı gösterdi. Ben uyarıyı sedat veren initialize() yöntemine taşıdım, ancak istisna hala gerçekleşir.
Herhangi bir yardım büyük takdir edilecektir.
Teşekkürler, Tom.
Yalnızca bir saat için hata ayıklama? Tankta daha çok var. Ciddi bir notta, derin bir nefes alın ve birkaç saatliğine yürüyün. SO üzerinde bir kişi ilk önce değilse kesinlikle alırsınız. – Mike
Display.getDisplay (bu) sızdırıyor olduğu söylenir, çünkü 'bu' kurucudan kaçıyor. Ancak, kurucunuza bağlı olarak, bu NullPointerEXception (zaten her şey zaten başlatılmış olduğu gibi) –