2009-08-14 6 views
1

J'utilise NetBeans 6.1 comme IDE primaire, là je ne peux pas lancer cet exemple d'écran de démarrage qui a été donné par le Soleil (Il jette un nullpointerException). Mais je peux lancer ceci en ligne de commande en utilisant ces arguments.Java SplashScreen

java -splash: nom_de_fichier.gif SplashDemo

Je ne sais pas comment injecter des arguments de ligne de commande dans NetBeans. S'il vous plaît quelqu'un d'aide.

import java.awt.*; 
import java.awt.event.*; 

public class SplashDemo extends Frame implements ActionListener { 

    static void renderSplashFrame(Graphics2D g, int frame) { 
     final String[] comps = {"foo", "bar", "baz"}; 
     g.setComposite(AlphaComposite.Clear); 
     g.fillRect(120, 140, 200, 40); 
     g.setPaintMode(); 
     g.setColor(Color.BLACK); 
     g.drawString("Loading " + comps[(frame/5) % 3] + "...", 120, 150); 
    } 

    public SplashDemo() { 
     super("SplashScreen demo"); 
     setSize(300, 200); 
     setLayout(new BorderLayout()); 
     Menu m1 = new Menu("File"); 
     MenuItem mi1 = new MenuItem("Exit"); 
     m1.add(mi1); 
     mi1.addActionListener(this); 
     this.addWindowListener(closeWindow); 

     MenuBar mb = new MenuBar(); 
     setMenuBar(mb); 
     mb.add(m1); 
     final SplashScreen splash = SplashScreen.getSplashScreen(); 
     if (splash == null) { 
      System.out.println("SplashScreen.getSplashScreen() returned null"); 
      return; 
     } 
     Graphics2D g = splash.createGraphics(); 
     if (g == null) { 
      System.out.println("g is null"); 
      return; 
     } 
     for (int i = 0; i < 100; i++) { 
      renderSplashFrame(g, i); 
      splash.update(); 
      try { 
       Thread.sleep(90); 
      } catch (InterruptedException e) { 
      } 
     } 
     splash.close(); 
     setVisible(true); 
     toFront(); 
    } 

    public void actionPerformed(ActionEvent ae) { 
     System.exit(0); 
    } 
    private static WindowListener closeWindow = new WindowAdapter() { 

     public void windowClosing(WindowEvent e) { 
      e.getWindow().dispose(); 
     } 
    }; 

    public static void main(String args[]) { 
     SplashDemo test = new SplashDemo(); 
    } 
} 
+0

où est levée l'exception? – Zed

+0

Est-ce que l'écran de démarrage fonctionne en eclipse –

Répondre

1

Accédez aux propriétés du projet (cliquez avec le bouton droit sur un projet et choisissez Propriétés). Choisissez l'élément "Exécuter" dans la liste Catégories. Vous pouvez y configurer les arguments, les options VM, etc.

+0

Merci, mais je sais que c'est déjà à propos de l'ensemble du projet, je demande une seule classe. – Switch

+0

+1: fonctionne pour moi (sous Eclipse) si je mets les arguments VM correctement (ie le -splash: imgfilename) Je ne suis pas sûr que nous comprenions ce que tu veux dire par "je demande un seul cours". L'écran de démarrage sert à charger l'ensemble de la JVM + votre application. Je ne pense pas que vous puissiez le faire apparaître pendant que votre application est déjà en cours d'exécution. –