如果statement =崩溃我的应用

时间:2015-07-09 18:43:19

标签: if-statement button netbeans codenameone

我正在创建一个应用程序,当我单击按钮将文本字段中的值增加1时,它会崩溃。这是一个按钮点击事件。

我已将所有内容放在永不停止的while循环中。然后,ifs会在int中将值增加1,然后将其存储到一个字符串中,该字符串将值设置为文本框。我还将包括一个减少按钮来反向。

 String SetUp = findTxtComp().getText();

int ChstSetLoop;
ChstSetLoop = 1;

        while(ChstSetLoop == 1){
            ChstSetLoop = 1;
    if(SetUp.equals("0")){


        SetUp = "1";

        findTxtComp().setText("1");
        ChstSetLoop = 0;
    }
    else if(SetUp.equals("1")){


        SetUp = "2";

        findTxtComp().setText(SetUp);
        ChstSetLoop = 0;
    }
    else if(SetUp.equals("2")){


        SetUp = "3";

        findTxtComp().setText(SetUp);
        ChstSetLoop = 0;
    }
    else if(SetUp.equals("3")){


        SetUp = "4";

        findTxtComp().setText(SetUp);
        ChstSetLoop = 0;
    }
    else if(SetUp.equals("4")){


        SetUp = "5";

        findTxtComp().setText(SetUp);
        ChstSetLoop = 0;

    }

    else{

        SetUp = "0";

    }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

将事物置于无限循环中是一个很大的错误。除了耗尽电池外,它实际上不起作用。

如果循环在EDT上,那么您将有效地阻止所有事件处理和绘图,从而破坏您的应用:http://www.codenameone.com/blog/callserially-the-edt-invokeandblock-part-1.html

如果循环在一个单独的线程中,你将通过在一个单独的线程上访问它来违反EDT。

为了处理这些事情,我们有事件回调(例如按钮点击的操作事件),请参阅http://www.codenameone.com/how-do-i---handle-eventsnavigation-in-the-gui-builder--populate-the-form-from-code