繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM