splashscreen在netbeans中不可见



[在此处输入链接描述][1]我尝试了一个显示GIF文件的应用程序。但我的应用程序没有显示任何错误,而是GIf(启动屏幕)不可见。

我在清单文件中给出了一个代码:

Manifest-Version: 1.0

X-COMMENT:主类将通过构建SplashScreen-Image:C:UsersAdminDocumentsNetBeansProjectssplashsrcsplashtry5.gif 自动添加

-splash:srcsplashtry5.gif   

VM选项中的上述代码。

在我的主要课程中,我使用了这个代码

  public static void main(String[] args) {
 sleepThread();
 java.awt.EventQueue.invokeLater(new Runnable(){
         @Override
         public void run()
         {
             new welcome().setVisible(true);
         }
         });
}
private static void sleepThread() {
    try
        {
            Thread.sleep(5000);
        }
        catch (InterruptedException ex)
        {
            // Do something, if there is a exception
            System.out.println(ex.toString());
        } 
}
    // TODO code application logic here
}

但当我尝试运行我的应用程序时,它不会显示我的Splashscreen。有没有关于Splashscreen GIf大小的规范,因为我的文件是2.63 MB,它的尺寸是640*360。请帮帮我。

编辑:我使用了相同的编码,但尝试了一个JPG图像作为启动屏幕,效果很好。然后我又把它改成了.GIF文件,启动屏幕没有出现,我又把我的文件改成了JPG文件,这次这个JPG文件也不起作用。

编辑:[1]:http://giphy.com/gifs/thank-you-cute-a3IWyhkEC0p32

这是我给出的一个gif文件示例的链接。但请注意,我的gif文件大小是2.53 MB。

编辑:现在这个Gif文件工作得很好。但在dissplash屏幕停止后,我的Jframe应该会打开。如果我运行程序,它会首先在我的框架中显示我的Splashscreen,我该如何映射它。

哎呀!

我没有注意到。对于要使用的窗体和摆动对象,最好使用SwingUtilities。//把睡眠时间改为5000,现在是2000。

import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public class test {
    public static void main(String[] args) {
        final JDialog frame = new JDialog(new JFrame());
        frame.setSize(320, 240);
        frame.setContentPane(new JLabel(new ImageIcon("H:\walk.gif")));
        frame.setUndecorated(true);
        frame.setResizable(false);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
        new Thread(new Runnable() {
            @Override
            public void run() {
                sleepThread();
                CloseDialog(frame);
                System.exit(0);
            }
        }).start();
        ShowDialog(frame);
    }
    private static void sleepThread() {
        try {
            Thread.sleep(2000);
        } catch (InterruptedException ex) {
            // Do something, if there is a exception
            System.out.println(ex.toString());
        }
    }
    private static void ShowDialog(final JDialog dialog) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                dialog.setVisible(true);
            }
        });
    }
    private static void CloseDialog(final JDialog dialog) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                dialog.setVisible(false);
            }
        });
    }
}

交换命令,您就可以了。显示窗口,然后睡觉。这就是闪屏的工作原理,我认为:)

public static void main(String[] args) {
new welcome().setVisible(true); 
 java.awt.EventQueue.invokeLater(new Runnable(){
         @Override
         public void run()
         {
              sleepThread();
         }
         });
}
private static void sleepThread() {
    try
        {
            Thread.sleep(5000);
        }
        catch (InterruptedException ex)
        {
            // Do something, if there is a exception
            System.out.println(ex.toString());
        } 
}
    // TODO code application logic here
}

相关内容

  • 没有找到相关文章

最新更新