Das Aktualisieren von JLabel in der for-Schleife wird empfohlen

Die Idee meines Programms ist, einen Namen aus einer Liste auszuwählen, die zuvor in einem anderen JFrame gespeichert wurde. Ich möchte alle Namen mit einer kleinen Verzögerung nacheinander in das Etikett drucken und danach bei einem von ihnen anhalten. Das Problem ist, dasslbl.setText("String"); funktioniert nicht, wenn es mehr als eine gibtsetText Code.

Hier ist der Teil meines Codes:

public void actionPerformed(ActionEvent e)
{
    if (RandomNames.size != 0) 
    {
        for (int i = 0; i < 30; i++)
        {
            int rand = (int)(Math.random() * RandomNames.size);   
            stars.setText(RandomNames.list.get(rand));

            try
            {
                Thread.sleep(100);
            }
            catch (InterruptedException err)
            {
                err.printStackTrace();
            }
        }

        int rand2 = (int)(Math.random() * RandomNames.size);
        stars.setText(RandomNames.list.get(rand2));
        RandomNames.list.remove(rand2);
        RandomNames.size = RandomNames.list.size();

    }

    if (RandomNames.list.size() == 0)
    {
        last.setText("\u062A\u0645 \u0638\u0647\u0648\u0631 \u062C\u0645\u064A\u0639 \u0627\u0644\u0623\u0633\u0645\u0627\u0621 \u0627\u0644\u062A\u064A \u0641\u064A \u0627\u0644\u0642\u0627\u0626\u0645\u0629 !");
    }
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage