Java J2ME在应用程序运行时不显示
我是一名.Net开发人员,目前正在迁移到java。我错过了什么?运行程序时没有显示Java J2ME在应用程序运行时不显示,java,java-me,midp,lcdui,Java,Java Me,Midp,Lcdui,我是一名.Net开发人员,目前正在迁移到java。我错过了什么?运行程序时没有显示 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
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();
}
}
我错过了什么
就我所能告诉您的代码未调用而言,这将要求…在显示器上显示不同的可显示对象。。。引用API文档
运行程序时没有显示
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();
}
}
考虑到上述因素,这是预期行为。如果在startApp方法中调用display.setCurrentform,很可能会看到该表单
旁注。我还将考虑将Calnter日期字段从构造函数初始化为StaseApp。据我回忆,这种方法更可靠
此外,startApp的这一部分看起来很可疑:
表单=新表单日历;/*为什么“形式”在这里*/
据我所知,删除表单将更有意义
我错过了什么
就我所能告诉您的代码未调用而言,这将要求…在显示器上显示不同的可显示对象。。。引用API文档
运行程序时没有显示
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();
}
}
考虑到上述因素,这是预期行为。如果在startApp方法中调用display.setCurrentform,很可能会看到该表单
旁注。我还将考虑将Calnter日期字段从构造函数初始化为StaseApp。据我回忆,这种方法更可靠
此外,startApp的这一部分看起来很可疑:
表单=新表单日历;/*为什么“形式”在这里*/
据我所知,删除表单将更有意义
不要设置私有表单Form=null
试试这个代码
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();
}
}
不要设置私有表单Form=null
试试这个代码
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();
}
}
在startApp方法中只需使用下面一行代码
public void startApp(){
display = Display.getDisplay(this);
Form form = new Form("Calender");
form.append(calender);
display.setCurrent(form);
}
在startApp方法中只需使用下面一行代码
public void startApp(){
display = Display.getDisplay(this);
Form form = new Form("Calender");
form.append(calender);
display.setCurrent(form);
}
@Lion不知道您尝试了什么,但是如果没有setCurrent,则不会显示任何内容。这是肯定的。如果没有setCurrent,则不会显示任何内容。它仅在以下位置显示setCurrent Date:。我想不出来。@Lion是另外一个问题-这是未设置日期时允许的典型行为。它是无害的,但如果它让你紧张,试试calender.setDatenewDate;在你创建之后DateField@Lion不知道您尝试了什么,但是如果没有设置当前值,则不会显示任何内容。这是肯定的,如果没有设置当前值,则不会显示任何内容。它仅在以下位置显示setCurrent Date:。我想不出来。@Lion是另外一个问题-这是未设置日期时允许的典型行为。它是无害的,但如果它让你紧张,试试calender.setDatenewDate;创建该日期字段之后