BlackBerry简单计数器

来源:互联网 发布:新手开店怎么做淘宝 编辑:程序博客网 时间:2024/05/23 22:50

IDE:maxpda.com_BlackBerry_JDE_4.3.0

下载地址:http://down.maxpda.com/download/Blackberry_JDE_4.30-777.html

安装后,运行JDE,选择菜单项File -> New Workspace,输入空间名称:qq,接着右击空间名称,选择Create new Project in qq.jdw,如下图所示。

输入工程名:test,创建新工程,然后右击工程名,选择Create new File in Project,如下图所示。

输入类文件名:CalculatorApp.java,编写如下代码:

package test;import net.rim.device.api.ui.*;import net.rim.device.api.ui.component.*;import net.rim.device.api.ui.container.*;import net.rim.device.api.i18n.*;import net.rim.device.api.system.*;import net.rim.device.api.collection.util.*;public class CalculatorApp extends UiApplication{    public static void main(String[] args)    {        CalculatorApp theApp = new CalculatorApp();        theApp.enterEventDispatcher();    }    public CalculatorApp()    {        pushScreen(new Calculator_());    }    }class Calculator_ extends MainScreen{    ObjectChoiceField ocf;    EditField num1,num2;    EditField result;    public Calculator_()    {        super(DEFAULT_MENU | DEFAULT_CLOSE);                String[] options = {"+", "-", "*", "/"};        setTitle(new LabelField("Simple Calculator", LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH));        HorizontalFieldManager hfm = new HorizontalFieldManager(Manager.HORIZONTAL_SCROLL);        ButtonField mySubmitButton = new ButtonField("Count");        ButtonField myResetButton = new ButtonField("Reset");        ocf = new ObjectChoiceField("operator:", options);        num1 = new EditField("num1: ", "", 10, EditField.FILTER_INTEGER);        num2 = new EditField("num2: ", "", 10, EditField.FILTER_INTEGER);        result = new EditField("result:", "", 20, EditField.NON_FOCUSABLE);                hfm.add(mySubmitButton);        hfm.add(myResetButton);                add(num1);        add(ocf);        add(num2);        add(new SeparatorField());        add(result);        add(hfm);                CountListener countListener = new CountListener();        ResetListener resetListener = new ResetListener();        mySubmitButton.setChangeListener(countListener);        myResetButton.setChangeListener(resetListener);    }        public void compute()    {        int n1 = 0;        int n2 = 0;        int sum = 0;                String s1 = num1.getText();        String s2 = num2.getText();        if(!s1.equals(""))  n1 = Integer.parseInt(s1);        else Status.show("num1 can't be empty value!");        if(!s2.equals(""))  n2 = Integer.parseInt(s2);        else Status.show("num2 can't be empty value!");                int flag = ocf.getSelectedIndex();        switch(flag)        {            case 0:            sum = n1 + n2;            break;            case 1:            sum = n1 - n2;            break;            case 2:            sum = n1 * n2;            break;            case 3:            if(n2 == 0)            {                Dialog.alert("num2 can't be 0 !");                num2.setFocus();                return;            }            sum = n1 / n2;            break;        }                result.setText(sum + "");    }        public void reset()    {        num1.setText("");        num2.setText("");        result.setText("");        num1.setFocus();    }        /**     * 处理计算事件     */    private class CountListener implements FieldChangeListener     {        public void fieldChanged(Field field, int context)         {            if (context != FieldChangeListener.PROGRAMMATIC)             {                compute();            }        }    }        /**     * 处理重置事件     */    private class ResetListener implements FieldChangeListener     {        public void fieldChanged(Field field, int context)         {            if (context != FieldChangeListener.PROGRAMMATIC)             {                reset();            }        }    }    public boolean onClose()    {        int response = Dialog.ask(Dialog.D_YES_NO);        if (Dialog.YES == response)        {            Status.show("Good Bye!");            System.exit(0);        }else if (Dialog.NO == response)        {            return false;        }        return true;    }   }

 

保存代码后,选择菜单项Build -> Build All,没有异常的话,点击F5,打开模拟器,选择模拟器最下方的Applications菜单,查找名为test的程序,如下图所示。

程序运行时的界面如下图所示。

程序退出时的提示信息: