首页 > 解决方案 > 如何在不覆盖当前文本的情况下将文本添加到文本字段?

问题描述

我有一个程序,它询问用户要排序的数字数量,然后随机生成用户要求的数字数量并对其进行排序。这是我第一次尝试在 java 上使用 swing,所以我不知道如何使用我的一个功能。当用户按下排序时,有 2 个文本字段。一个是未排序数字的数组,另一个字段将是排序数字所在的位置。但是,当我输入数字数量然后按排序时,我应该期望数字带有逗号。也许我对文本字段使用了错误的命令,但我无法弄清楚。我认为只有最后一个数字即将出现,并且是唯一出现的数字。

//get data
            String data = txtInput.getText();
            //parse for numerical value
           int  numGenerate = Integer.parseInt(data); 

           int Numbers[]=new int[numGenerate];

           for (int x=0;x<=Numbers.length-1;x++)
           {
               Numbers[x]=(int)(Math.random()*1000)+1;

               txtUnsorted.setText(String.valueOf(Numbers[x])+",");
           }

标签: javaarrays

解决方案


setText() 方法替换当前文本。所以首先获取 txtUnsorted.getText() 然后分配给变量。之后使用 setText() 。

var unsorted = txtUnsorted.getText();
txtUnsorted.setText(unsorted + String.valueOf(Numbers[x])+",");

推荐阅读