0

テキストエリアで取得したすべてのデータを表示しようとしています

    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 に答える