2

我是黑莓应用程序的新手。

现在尝试使用eclipse在黑莓中创建一个计算器:

所以我添加了一个按钮(ButtonField),我的第一个目标是按下这个按钮时我想显示

嗨..现在您可以尝试使用文本字段。

在这里我把我的代码,请通过它。

启动器.java

public class Launcher extends UiApplication {
    public static void main(String[] args) {
        Launcher theApp = new Launcher();
        theApp.enterEventDispatcher();
   }
   private Launcher()
   {
       this.pushScreen(new MainScrn());
   }

}

主屏幕.java

public class MainScrn extends MainScreen implements FieldChangeListener {
    public MainScrn() {
        LabelField lf_hello = new LabelField();
        lf_hello.setText("Hello, World!");
        lf_hello.setBackground(BackgroundFactory.createSolidBackground(124));
        ButtonField mySubmitButton = new ButtonField("clickMe");
        mySubmitButton.setChangeListener(this);
        this.add(lf_hello);
        this.add(mySubmitButton);
    }

    public void fieldChanged(Field field, int context) {
        System.out.println("hi.. now you can try with text field");

    }
}

你好这是怎么回事。? 请帮忙..这对你来说很简单,但我现在不行吗?

4

3 回答 3

2

在字段更改的侦听器中,替换此代码

 public void fieldChanged(Field field, int context) {
        System.out.println("hi.. now you can try with text field");
 }

public void fieldChanged(Field field, int context) {
    if(field == mySubmitButton) {
        System.out.println("hi.. now you can try with text field");
    }      
}

不要只写你想做的事。首先检查它是否是 ButtonField 然后为它编写代码。

于 2011-11-17T13:40:34.340 回答
2

试试这个:

buttons.setChangeListener(new FieldChangeListener()
    {

        public void fieldChanged(Field field, int context)
        {
            System.out.println("hi.. now you can try with text field");
            Dialog.alert("hi.. now you can try with text field");

        }
    });
于 2014-07-23T07:20:25.197 回答
1

看一下这个。

public final class MyScreen extends MainScreen implements FieldChangeListener
{
/**
 * Creates a new MyScreen object
 */

LabelField lbl = new LabelField("hi.. now you can try with text field.");
ButtonField bf = new ButtonField("Click Me",ButtonField.CONSUME_CLICK);
public MyScreen()
{        
    // Set the displayed title of the screen       
    setTitle("MyTitle");
    bf.setChangeListener(this);
    add(bf);

}

public void fieldChanged(Field field, int context) {
    // TODO Auto-generated method stub
    if(field == bf)
    {
        add(lbl);
    }
}
}
于 2011-11-17T09:34:16.303 回答