2015-11-02 2 views
0

[введите ссылку здесь] [1] Я попробовал приложение для отображения файла GIF. Но мое приложение не показывает никакой ошибки, вместо этого GIf (заставка) не отображается.splashscreen не отображается в netbeans

Я дал код в файле манифеста:

Manifest-Version: 1.0 

X-COMMENT: Main-Class будет добавлена ​​автоматически строить SplashScreen-Image:C:\Users\Admin\Documents\NetBeansProjects\splash\src\splash\try5.gif

-splash:src\splash\try5.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 МБ, а его размеры - 640 * 360. Пожалуйста, помогите мне.

РЕДАКТИРОВАТЬ: Я ИСПОЛЬЗОВАЛ ОДИН КОДИРОВАТЬ, НО ПРОИГРЫВАЛ JPG ИЗОБРАЖЕНИЕ КАК СПАСАТЕЛЬНЫЙ ЭКРАН, РАБОТАЕТ ХОРОШО. ТОГДА СНОВА Я ИЗМЕНИЛ ЭТО С .GIF ФАЙЛ, СКАЧАТЕЛЬНЫЙ СКРИН НЕ ЯВЛЯЕТСЯ И ТАКЖЕ СНОВА Я ИЗМЕНИЛ МОЙ ФАЙЛ С ФАЙЛОМ JPG В ЭТОМ ВРЕМЕНИ ЭТО ФАЙЛ JPG ТАКЖЕ НЕ РАБОТАЕТ.

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

Вот ссылка я дал за образец файла GIF. Но обратите внимание, что размер моего gif-файла составляет 2,53 МБ.

EDIT: теперь этот файл Gif отлично работает. Но после того, как экран всплеска остановится, мой Jframe должен открыть. как мне его сопоставить, так что если я запустил свою программу, то сначала отображает мой Splashscreen den my Frame.

+0

Не нужно ничего делать с вашим манифестом. – Soley

+0

Нет. Я не получил решение, так как я не могу отобразить заставку. –

+0

Размер файла/размер не имеет значения. Это образ. Просто убедитесь, что размер вашего кадра такой же большой, как и ваш образ, поэтому он не обрезает изображение. – Soley

ответ

0

Упс!

Я не заметил. Лучше использовать 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); 
      } 
     }); 
    } 
} 
+0

извините, но и отображает только jframe, а не экран gif splash. –

+0

Добавил ли GIF изображение в свой фрейм? – Soley

+0

Проверьте мои изменения. Это размер кадра. – Soley

0

команды обмена, и с вами все будет в порядке. Покажите окно, затем спать. Вот как работает заставка ...

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 
} 
+0

нет, это открыло два фрейма, но не отобразило заставку –

Смежные вопросы