LWUIT按钮问题

时间:2011-11-22 09:17:49

标签: java-me lwuit lwuit-button lwuit-label

    import com.sun.lwuit.Button;
    import com.sun.lwuit.Command;
    import com.sun.lwuit.Display;
    import com.sun.lwuit.Label;
    import com.sun.lwuit.events.ActionEvent;
    import com.sun.lwuit.events.ActionListener;
    import com.sun.lwuit.layouts.BorderLayout;
    import com.sun.lwuit.plaf.UIManager;
    import com.sun.lwuit.util.Resources;
    import java.io.IOException;


    public class Ruwwa extends javax.microedition.midlet.MIDlet implements ActionListener{

    Form f;
    Button mybutton1;
    Button mybutton2;
    Command exit;
    Command ok;


    public void startApp() {

           Display.init(this);

           f = new Form();

           try {

           Resources r = Resources.open("/mairuwa.res");
           UIManager.getInstance().setThemeProps(r.getTheme("Mairuwa Theme"));

           } catch (IOException ioe) {
             ioe.printStackTrace();
           }

           mybutton1=new Button("Report A Problem");
           mybutton2=new Button("Request Info");

           f.setLayout(new BorderLayout());
           f.addComponent(BorderLayout.CENTER, new Label("The Mairuwa Portal"));

           ok = new Command("OK");
           exit = new Command("Exit");

           f.addCommand(ok);
           f.addCommand(exit);
           f.addCommandListener(this);

           f.show();

           }

    public void pauseApp() {}

    public void destroyApp(boolean unconditional) {}

    public void actionPerformed(ActionEvent ae) {
       notifyDestroyed();
    }

}

我想在“The Mairuwa Portal”下添加另一个标签,并在其下方放置两个按钮(“报告问题”,“请求信息”)。我所描述的是一个例子

label:                          The Mairuwa Portal
then another label beneath it:  I want to:

此按钮下方有两个按钮:报告问题按钮:请求信息

我已经能够将OK和EXIT按钮添加到项目中,但我所谈到的上述按钮应该如我所描述的那样。

这些按钮将带有功能。我希望这可以在LWUIT中完成。

1 个答案:

答案 0 :(得分:1)

这很简单。使用BoxLayout.Y_AXIS Form并将标签添加到表单中。使用Container(或BoxLayout.Y_AXIS,根据您的需要)创建x_AXIS,并将按钮添加到此Container并设置Container的边距。请参阅示例代码,了解如何操作

Form form = new Form("form");
form.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
Label label1 = new Label("Label 1");
Label label2 = new Label("Label 2");
form.addComponent(label1);
form.addComponent(label2);
Container c = new Container(new BoxLayout(BoxLayout.X_AXIS));
int center = Display.getInstance().getDisplayWidth()/2;
c.getStyle().setMargin(0, 0, center , 0);    
Button b1 = new Button("button 1");
Button b2 = new Button("button 2");
c.addComponent(b1);
c.addComponent(b2);
form.addComponent(c);
form.show();