If statement If statement=使我的应用程序崩溃
我正在创建一个应用程序,当我单击按钮将文本字段中的值增加1时,该应用程序崩溃。这是一个按钮单击事件 我把一切都放在一个永远不会结束的while循环中。然后,ifs将int中的值增加1,然后将其存储到字符串中,该字符串将把值设置为文本框。我还将包括一个减少按钮来做相反的If statement If statement=使我的应用程序崩溃,if-statement,button,netbeans,codenameone,If Statement,Button,Netbeans,Codenameone,我正在创建一个应用程序,当我单击按钮将文本字段中的值增加1时,该应用程序崩溃。这是一个按钮单击事件 我把一切都放在一个永远不会结束的while循环中。然后,ifs将int中的值增加1,然后将其存储到字符串中,该字符串将把值设置为文本框。我还将包括一个减少按钮来做相反的 String SetUp = findTxtComp().getText(); int ChstSetLoop; ChstSetLoop = 1; while(ChstSetLoop == 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";
}
}
}
}
把事情放在一个无限循环中是一个很大的错误。除了耗尽电池电量外,它实际上不会工作 如果循环在EDT上,则您将有效阻止所有事件处理和绘图,从而中断您的应用程序: 如果循环位于单独的线程中,则通过在单独的线程上访问它将违反EDT
为了处理这些事情,我们有事件回调,例如按钮单击的操作事件参见是否要包括错误?findTxtComp做什么?您永远不会更改ChstSetLoop的值,因此循环当然永远不会结束。剩下的大部分代码都毫无意义。foo=4;foo=String.valueOffoo?为什么只是foo=4?findTxtComp将找到名为txtcomp的文本框。我用的是代号一。每次按下按钮时,文本框中的数字应增加1。有两个变量SetUP,一个是整数,另一个是字符串。我算出来了。请参阅代码谢谢: