为什么我的程序打印到我的GUI?

时间:2014-04-22 19:17:45

标签: java user-interface netbeans

这是我的代码 - 当我尝试运行该程序时,它不会打印/显示到我的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);
   }

2 个答案:

答案 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");