我正在尝试显示我在textarea中获得的所有数据
public static void randNumQueue(){
Queue<String> myQueue = new LinkedList<>();
if(average12==30){
long range = (long)randNum2 - (long)randNum1 + 1;
long fraction = (long)(range * random.nextDouble());
number = (int)(fraction + randNum1);
System.out.println(number);
Set mySet = new HashSet();
for (int j = 0; j<number; j++)
{
int pick;
do{
pick = random.nextInt(number)+1;
}while(!mySet.add(pick));
myQueue.add(Integer.toString(pick));
}
System.out.println("the queue size: "+myQueue.size());
sizeQ = myQueue.size();
Iterator it = myQueue.iterator();
while(it.hasNext()){
String iteratorValue = (String)it.next();
Qnum = Integer.parseInt(iteratorValue);
System.out.println("queue next value: "+Qnum);
}
}
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource().equals(b1)){
randomAverage();
testAmount = testAmount + 1;
label5.setText(""+testAmount);
area3.setText(""+sizeQ);
area1.setText(""+Qnum);
}
}
area1是区域文本,我试图显示我从IteratorValue获得的所有数据
来自上面的函数区域1的只显示了我从iteratorValue
得到的最后一个值任何人都知道如何在area1(textarea)中显示所有值?
答案 0 :(得分:2)
如果要替换文本区域的内容,请使用setText
,如果要将文本添加到文本区域的末尾,请使用JTextArea#append
<强>更新强>
很难评估你想要做什么,但有点像......
while(it.hasNext()){
String iteratorValue = (String)it.next();
area1.append(iteratorValue + "\n");
Qnum = Integer.parseInt(iteratorValue);
System.out.println("queue next value: "+Qnum);
}
在执行操作的方法中,删除area1.setText(""+Qnum);
。这会将每个结果附加到文本区域。如果要清除文本,请使用area1.setText(null)