如何将相同的JLabel放两次

时间:2017-09-20 08:46:45

标签: java image swing jframe jlabel

我试图创建一个" gif"使用JFrame和JPanel,我有一个问题循环" 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]);
        }

它只运行一次但是当我调试时它表明它一直在运行

1 个答案:

答案 0 :(得分:0)

您需要添加

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

之后

mainFrame.add(labels[i]);

之后

mainFrame.remove(labels[i]);

另外,我建议您阅读Event Dispatcher Thread