如何将相同的 JLabel 放置两次

How to put the same JLabel twice

我正在尝试使用 JFrame 和 JPanel 创建 "gif",但循环 "gif" 时遇到问题。 这是执行 "gif":

的代码部分
    JFrame mainFrame = new JFrame("main");
    mainFrame.setSize(newWidth, newHeight);
    mainFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        for (int i = 0; i < labels.length; i++) {
            mainFrame.add(labels[i]);
            mainFrame.setVisible(true);
            TimeUnit.SECONDS.sleep(delay);
            mainFrame.remove(labels[i]);
        }

它只运行一次,但当我调试时它显示它保持 运行

您需要添加

mainFrame.revalidate();
mainFrame.repaint();

之后
mainFrame.add(labels[i]);

及之后

mainFrame.remove(labels[i]);

此外,我想推荐您阅读有关 Event Dispatcher Thread 的内容。