这是我的代码 - 当我尝试运行该程序时,它不会打印/显示到我的GUI中的finalResult
文本字段。有什么想法吗?
private void calculateButtonActionPerformed(java.awt.event.ActionEvent evt) {
// Coding:
int a = 1;
userInput = minInput.getText();
int value1 = Integer.parseInt(userInput);
userInput2 = maxInput.getText();
int value2 = Integer.parseInt(userInput2);
while (a <= value1)
{
//Print numbers inbetween user's value and 1:
int square = value1*value1;
//Print:
finalResult.setText("" + square);
//Modifier:
value1 = value1 + 1;
}
for (a = 0; a <= value1; a ++)
{
finalResult.setText("" + a*a);
}
while (value1 < value2)
{
//Print numbers inbetween value 2 and valeu1:
int square = value2*value2;
//Print:
finalResult.setText("" + square);
//Modifier:
value2 = value2 + 1;
}
for (a = 0; a <= value2; a ++)
{
finalResult.setText("" + a*a);
}
答案 0 :(得分:0)
您的代码正在运行,但那些for循环非常快,因此您不会看到文本字段发生更改。无论你做什么,不要使用Thread.sleep(...)
来尝试解决这个问题,而是考虑使用Swing Timer来代替那些for循环,这样你就可以看到中期结果。
修改强>
看起来这个循环永远不会结束:
while (a <= value1)
什么时候会是&gt;循环中的value1?
下一个while循环的相同问题。
答案 1 :(得分:0)
如果您想查看所有输出,请尝试使用这样的只读JTextArea
:
javax.swing.JTextArea outputBox = new JTextArea();
outputBox.append("" + square + "\n");