"加载" ImageIcon gif在应用程序启动时不显示动画

时间:2017-11-17 23:59:29

标签: java animation gif startup

这是我第一次在StackOverFlow中,如果我打破了一些规则,我很抱歉,但我搜索了一个没有成功的解决方案。我也道歉,因为我的英语并不完美,我希望你们中的某个人能够支持我。

我正在做一个应用程序,在启动时从数据库加载一些数据(这个过程需要几秒钟),我想在应用程序启动时显示动画加载gif。

此代码在应用程序启动之前正确显示了带有gif的JDialog(带有Thread.join()),但没有动画。 在应用启动之前,gif动画才会启动

如果我在线程的末尾写了一个Thread.sleep(),那么gif动画会在线程处于睡眠状态时运行,并在Thread.sleep()结尾处完成。我也尝试在第二个帖子中运行以下代码,但两者都没有。

我附上代码......提前致谢!

public static void main(String args[]){
    Thread t=new Thread(new Runnable(){
        public void run(){
            JDialog d=new JDialog();
            d.setUndecorated(true);
            JLabel etiqueta=new JLabel();
            URL u=getClass().getResource("/img/load.gif");
            ImageIcon ic= new ImageIcon(u);
            etiqueta.setIcon(ic);
            d.getContentPane().add(etiqueta);
            d.pack();
            d.setVisible(true);
            d.setLocationRelativeTo(null);
        }
    });
    t.start();

    try{
        t.join();
        for(UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()){
            if("Windows".equals(info.getName())){
                UIManager.setLookAndFeel(info.getClassName());
                break;
            }
        }
    }catch(Exception e){
        System.out.println(e);
    }
    EventQueue.invokeLater(new Runnable(){
        public void run(){
            new ControlPersonal().setVisible(true);
        }
    });
}

0 个答案:

没有答案