用户界面——Java GUI不会在for循环中显示所有的答案



因此,我编写了一个单独的程序,输出输入数(极限)以内的所有素数。它可以完美地工作,但是当我将代码添加到GUI代码中时,它只显示最后一个素数。例如,我输入9,它只显示7,因为7是9之前的最后一个质数。显然,GUI代码被for循环弄得一团糟,我不知道如何修复它。这里是代码(是在我的程序的底部),显示在文本区域的答案(代码的另一部分只是设置GUI)。请帮助!

public void actionPerformed(ActionEvent event){ 
    //turns the inputNum text into type int and parsed into int input
      //iterates through each number
        for(){
            //prints the primes that returned true in the isPrime method ONLY
            if(isPrime(num)){

            }
        }
}
        public static boolean checkForPrime(int num){
            //for loop that checks if the inputed number is prime

不要在JTextArea上调用setText(...),因为将JTextArea中的当前文本替换为新文本。相反,在JTextArea上调用append(myText + "n");,这样将创建新的行,每个行都有一个新答案的副本。

如,

if(checkForPrime(num)){
    // assuming that answers is a JTextArea
    answers.append(String.valueOf(num) + "n");
}

append方法将传入的String添加到已经显示在JTextArea .

每次循环设置文本。这样做:

if(checkForPrime(num)){
  answers.setText(answers.getText(num + " "));//The space separates the numbers and makes it a String
}

这将在每次循环时添加数字。

相关内容

  • 没有找到相关文章

最新更新