我正在创建一个应用程序,当我单击按钮将文本字段中的值增加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";
}
}
}
}
答案 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