当我尝试在动作侦听器中执行String y = String.valueOf(int x)
时,我的GUI会冻结。特别是当从同一个包的另一个类传递到GUI时,无论转换何时发生。谁知道为什么?
String add(String a, String b) {
int x = Integer.parseInt(a);
int y = Integer.parseInt(b);
int c = x + y;
String temp = String.valueOf(c);
return temp;
}
private void NextActionPerformed(java.awt.event.ActionEvent evt) {
String tempx = stringAR[n];
String tempy = stringAR[t];
String out = add(tempx, tempy);
}
这会导致我的GUI冻结,但前提是字符串来自全局数组stringAR
。
答案 0 :(得分:0)
除了评论之外,没有人回答,因为你可能无法用尽可能少的信息给出答案,但我会尝试。 (是的,请提供SSCCE,就像有人建议的那样)。
这会导致我的GUI冻结,但前提是字符串来自全局数组stringAR。
你确定你的StringAR不是null,它的长度是> = 2?
所有GUI事件都在单线程中处理。因此,GUI可能冻结的一个原因是事件线程中的无限(或只是非常长)循环。另一个(并且只会冻结GUI的一部分,而不是整个事物)将是一个未被捕获的异常。因此我怀疑是NullPointerException或类似的。
就个人而言,我不知道没有调试器的开发人员如何生活。我发誓Eclipse,但我听说NetBeans也变得非常棒。为什么不在调试器中单步执行代码?或者,如果你是一个硬核Unix类型,通过编写代码打印语句,日志文件等进行调试。单元测试也是如此。
最后但并非最不重要的是,除非您确切知道自己在做什么,否则永远不要无声地吞下异常。明确处理您的例外。