0

我正在尝试显示我在 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 获得的所有数据的区域文本

从上面的函数 area1 只显示了我从 iteratorValue 得到的最后一个值

有人知道如何显示 area1(textarea) 中的所有值吗?

4

1 回答 1

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)

于 2013-01-06T04:46:40.007 回答