Search code examples
javajava-memidplcdui

J2ME No display when application is run


I am a .Net Developer and currently migrating to java. What am I missing here? There is no display when I run the program?

import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import java.util.Date;
import java.util.TimeZone;

public class CalenderMIDlet extends MIDlet{
  private Form form = null;
  private DateField calender = null;  
  private static final int DATE = 0;

  public CalenderMIDlet(){
  calender = new DateField("Date In:", DateField.DATE, TimeZone.getTimeZone("GMT"));
  }

  public void startApp(){
  display = Display.getDisplay(this);
  Form form = new Form("Calender");
  form.append(calender);
  }

  public void pauseApp(){}

  public void destroyApp(boolean destroy){
  notifyDestroyed();
  }
} 

Solution

  • Don't set the private Form form = null;

    Try this code

    import javax.microedition.lcdui.*;
    import javax.microedition.midlet.MIDlet;
    import java.util.Date;
    import java.util.TimeZone;
    
    public class CalenderMIDlet extends MIDlet{
        private Form form;
        private Display display;
        private DateField calender;  
        private static final int DATE = 0;
    
        public CalenderMIDlet(){
            calender = new DateField("Date In:", DateField.DATE, TimeZone.getTimeZone("GMT"));
        }
    
        public void startApp(){
            display = Display.getDisplay(this);
            Form form = new Form("Calender");
            form.append(calender);
            display.setCurrent(form);
        }
    
        public void pauseApp(){}
    
        public void destroyApp(boolean destroy){
            notifyDestroyed();
        }
    }