如何使用JME在另一个表单中调用一个表单



我正在尝试学习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教程

相关内容

  • 没有找到相关文章

最新更新