【问题标题】:my commands using lwuit not working properly ..我使用 lwit 的命令无法正常工作..
【发布时间】:2012-09-05 09:46:35
【问题描述】:

我正在尝试在 3 种形式之间移动。 1个是主要形式,2个是其他简单形式。 我在软键中有命令,但它们不起作用......

下面是我的代码...

public class checkOutComponents extends MIDlet implements ActionListener 
{

    private Form appForm;
    private Form f1;
    private Form f2;
    Command GoTof1 = new Command("GoTof1");
    Command GoTof2 = new Command("GoTof2");
    Command GoToMainForm = new Command("GoToMainForm");
    public void startApp() 
    {
        Display.init(this);

        appForm = new Form("Check These Components!! ");
        appForm.setLayout(new BorderLayout());

        appForm.addCommand(GoTof1);
        appForm.addCommand(GoTof2);

        appForm.addComponent(BorderLayout.CENTER, formContainer);
        appForm.show();
    }

    public void pauseApp() 
    {

    }

    public void destroyApp(boolean unconditional) 
    {

    }

    public void actionPerformed(ActionEvent event)
    {
        Command eventCmd = event.getCommand();
        Form f = Display.getInstance().getCurrent();

        boolean sentido = false;
        if (eventCmd == GoTof1) 
        {
            sentido = true;
            Image i1 = null;
            try 
            {
                i1 = Image.createImage("/hello/1.jpeg");
            } 
            catch (IOException ex) 
            {
                ex.printStackTrace();
            }
            Label lab1 = new Label(i1);
            f1.addComponent(lab1);
            f1.addCommand(GoTof2);
            f1.addCommand(GoToMainForm);
            f.setTransitionOutAnimator(Transition3D.createCube(300, sentido));
            f1.show();

        } 
        else if (eventCmd == GoTof2) 
        {
            sentido = false;
            Image i2 = null;
            try 
            {
                i2 = Image.createImage("/hello/2.jpeg");
            } 
            catch (IOException ex) 
            {
                ex.printStackTrace();
            }
            Label lab2 = new Label(i2);
            f1.addComponent(lab2);
            f1.addCommand(GoTof1);
            f1.addCommand(GoToMainForm);
            f.setTransitionOutAnimator(Transition3D.createCube(300, sentido));
            f2.show();
        }
        else if(eventCmd == GoToMainForm)
        {
            appForm.showBack();

        }

    }

}

请对此提供帮助。 在此先感谢和问候, 斯瓦蒂

【问题讨论】:

    标签: lwuit lwuit-form lwuit-resource-editor lwuit-layouts lwuit-command


    【解决方案1】:

    将命令监听器添加到表单 appForm。

    appForm.addCommandListener(this);
    

    【讨论】:

    • 非常感谢 Kalai,这工作得非常好 :) 但我有另一个要求,我想从任何一种表单中使用 Exit 命令进入 MidletSuite(我们启动 Midlet 的主屏幕) .我怎样才能实现它?
    • 对于主屏幕,添加退出命令。如果您在 HomeScreen 之后显示另一个屏幕,请将主屏幕表单 obj 传递到该屏幕并添加回命令。在返回命令事件中,只显示接收到的 obj。当显示多个屏幕时,只需遵循此层次结构即可。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多