[英]Why won't my program print to my GUI?
这是我的代码 - 当我尝试运行该程序时,它不会打印/显示到我的 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);
}
您的代码正在运行,但那些 for 循环循环得非常快,因此您看不到文本字段发生的更改。 无论您做什么,都不要使用Thread.sleep(...)
来尝试解决此问题,而是考虑使用 Swing Timer 代替 for 循环,以便您可以看到中间结果。
编辑
看起来这个循环永远不会结束:
while (a <= value1)
什么时候 a ever be > value1 在循环内?
下一个 while 循环可能出现同样的问题。
如果您想查看所有输出,请尝试使用像这样的只读JTextArea
:
javax.swing.JTextArea outputBox = new JTextArea();
outputBox.append("" + square + "\n");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.