我正在尝试学习J2ME,但我对表单有问题。我的问题是,我有两种形式,一种是"主"形式和一种"问候"形式;问候语表单由主表单直接调用。我的代码示例如下所示。
此代码用于问候表单(greetingsClass.java)
import javax.microedition.lcdui.*;
public class greetingsClass {
public Display greetingsDisplay;
public Form loginform;
public void login()
{
loginform = new Form("Login Class Form");
loginform.append("Ok! Iside login Classs form");
greetingsDisplay = Display.getDisplay(this);
greetingsDisplay.setCurrent(loginform);
}
}
此代码用于主表单(FormMIDlet.java)
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
public class FormMIDlet extends MIDlet {
public Display FormMIDletdisplay;
public Form MainMIDletform;
public LoginClass LoginFormObject;
public void startApp() {
MainMIDletform = new Form("Main Class Form");
MainMIDletform.append("Calling LoginClass Form");
FormMIDletdisplay = Display.getDisplay(this);
FormMIDletdisplay.setCurrent(MainMIDletform);
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {
notifyDestroyed();
}
}
我想要代码的第一部分中的表单(greetingsClass.java)
将在第二部分中显示,该部分是midlet(FormMIDlet.java)的主要形式。
我希望这段代码能帮助你:
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.*;
public class myMidlet extends MIDlet implements CommandListener {
private Form greetings;
private Form MainForm;
private Command okCommand;
Display display;
public myMidlet() {
display = Display.getDisplay(this);
greetings = new Form("greetings");
MainForm = new Form("MainForm");
okCommand = new Command("Ok", Command.OK, 0);
MainForm.addCommand(okCommand);
MainForm.setCommandListener(this);
}
public void startApp() {
MainForm.append("This is MainForm");
display.setCurrent(MainForm);
}
public void pauseApp() {
...
}
public void destroyApp(boolean unconditional) {
...
}
public void commandAction(Command cmnd, Displayable dsplbl) {
if (cmnd == okCommand) {
greetings.append("This is greeting Form");
display.setCurrent(greetings);
}
}
}
Display类是为每个活动MIDlet实例化的显示管理器,并提供检索有关设备显示功能的信息的方法。通过调用Display.setCurrent()方法可以使屏幕可见
Form是一个包含任意项目(例如图像、文本、文本字段、选择组)的屏幕。Form是screen的子级,screen实现了Displayable接口
Displayable类是一个可以显示在设备屏幕上的UI元素,而Display类抽象了实际设备屏幕的显示功能,并使其可供您使用。它提供了获取屏幕信息以及显示或更改要显示的当前UI元素的方法。因此,MIDlet使用Display类的setCurrent(Displayable element)方法在显示器上显示Displayable UI元素。Displayable类实现了Displayable接口
可显示对象是具有被放置在显示器上的能力的对象
参考文献:
MIDP GUI编程
J2ME教程