IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NetBeans Java Discussion :

Intégrer un SplashScreen à une application Java avec NetBeans


Sujet :

NetBeans Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2013
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 52
    Points : 20
    Points
    20
    Par défaut Intégrer un SplashScreen à une application Java avec NetBeans
    Bonjour,

    J'ai un programme qui fonctionne bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
           public class JeuCEP extends javax.swing.JFrame {
             // Constructeur
             public JeuCEP() {...
    Dans lequel j'essaie d'inclure un code pour intégrer un SplashScreen, qui fonctionne très bien lui aussi mais à part.

    Je me base sur le tutoriel sous NetBeans http://wiki.netbeans.org/Splash_Scre...inner_Tutorial qui fait exactement tout ce que je veux mais je ne suis pas capable de l'intégrer dans mon programme JeuCEP.

    Quelqu'un saurait-il m'indiquer comment faire en sorte que ça fonctionne ?

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Ce serait bien que tu commence par nous montrer ce que tu as essayé de faire ainsi que ce qui coince.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2013
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 52
    Points : 20
    Points
    20
    Par défaut
    Si je teste et compile le tutoriel, tout va bien et tout s'affiche correctement.

    Quand mon programme principal est compilé, tout fonctionne aussi correctement.

    Le tutoriel est une classe main et je sais (du moins, de ce que j'ai compris jusqu'ici) qu'on ne peut pas avoir deux classes Main dans un même programme.

    Ce que je tente de faire est un simple new splashScreen();... dans mon programme principal pour créer cette instance mais ça ne fonctionne pas.

    C'est le bout où une classe est créée (splashScreen) et qu'il faut l’appeler dans le programme principal qui n'est pas clair.
    Le compilateur me donne des choix comme créer une méthode etc...

    J'ai beau essayer tout ce que le compilateur me suggère mais ça ne fonctionne pas.

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Montre-nous ton code, je vais pas deviner comment tu as intégré les deux et où ça coince.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2013
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 52
    Points : 20
    Points
    20
    Par défaut
    Ma classe EcranDepart
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Font;
    import java.awt.Graphics2D;
    import java.awt.SplashScreen;
    import java.awt.geom.Rectangle2D;
     
    /**
     * Example for Splash Screen tutorial
     * @author Joseph Areeda
     */
    public class EcranDepart
    {
        static SplashScreen mySplash;                   // instantiated by JVM we use it to get graphics
        static Graphics2D splashGraphics;               // graphics context for overlay of the splash image
        static Rectangle2D.Double splashTextArea;       // area where we draw the text
        static Rectangle2D.Double splashProgressArea;   // area where we draw the progress bar
        static Font font;                               // used to draw our text
     
        public static void EcranDepart(String[] args)
        {
            splashInit();           // initialize splash overlay drawing parameters
            appInit();              // simulate what an application would do before starting
            if (mySplash != null)   // check if we really had a spash screen
                mySplash.close();   // we're done with it
     
            // begin with the interactive portion of the program
        }
        /**
         * just a stub to simulate a long initialization task that updates
         * the text and progress parts of the status in the Splash
         */
        private static void appInit()
        {
            for (int i = 1; i <= 10; i++)
            {   // pretend we have 10 things to do
                int pctDone = i * 10;       // this is about the only time I could calculate rather than guess progress
                splashText("Chargement du programme. Attendez...");     // tell the user what initialization task is being done
                splashProgress(pctDone);            // give them an idea how much we have completed
                try
                {
                    Thread.sleep(1500);             // wait a second
                }
                catch (InterruptedException ex)
                {
                    break;
                }
            }
        }
     
        /**
         * Prepare the global variables for the other splash functions
         */
        private static void splashInit()
        {
            // the splash screen object is created by the JVM, if it is displaying a splash image
     
            mySplash = SplashScreen.getSplashScreen();
            // if there are any problems displaying the splash image
            // the call to getSplashScreen will returned null
     
            if (mySplash != null)
            {
                // get the size of the image now being displayed
                Dimension ssDim = mySplash.getSize();
                int height = ssDim.height;
                int width = ssDim.width;
     
                // stake out some area for our status information
                splashTextArea = new Rectangle2D.Double(563., height*0.85, width * .20, 32.);
                splashProgressArea = new Rectangle2D.Double(width * .55, height*.92, width*.4, 12 );
     
                // create the Graphics environment for drawing status info
                splashGraphics = mySplash.createGraphics();
                font = new Font("Dialog", Font.PLAIN, 10);
                splashGraphics.setFont(font);
     
                // initialize the status info
              splashText("Chargement");
                splashProgress(0);
            }
        }
        /**
         * Display text in status area of Splash.  Note: no validation it will fit.
         * @param str - text to be displayed
         */
        public static void splashText(String str)
        {
            if (mySplash != null && mySplash.isVisible())
            {   // important to check here so no other methods need to know if there
                // really is a Splash being displayed
     
                // erase the last status text
                splashGraphics.setPaint(Color.RED);
                splashGraphics.fill(splashTextArea);
     
                // draw the text
                splashGraphics.setPaint(Color.BLACK);
                splashGraphics.drawString(str, (int)(splashTextArea.getX() + 10),(int)(splashTextArea.getY() + 15));
     
                // make sure it's displayed
                mySplash.update();
            }
        }
        /**
         * Display a (very) basic progress bar
         * @param pct how much of the progress bar to display 0-100
         */
        public static void splashProgress(int pct)
        {
            if (mySplash != null && mySplash.isVisible())
            {
     
                // Note: 3 colors are used here to demonstrate steps
                // erase the old one
                splashGraphics.setPaint(Color.LIGHT_GRAY);
                splashGraphics.fill(splashProgressArea);
     
                // draw an outline
                splashGraphics.setPaint(Color.BLUE);
                splashGraphics.draw(splashProgressArea);
     
                // Calculate the width corresponding to the correct percentage
                int x = (int) splashProgressArea.getMinX();
                int y = (int) splashProgressArea.getMinY();
                int wid = (int) splashProgressArea.getWidth();
                int hgt = (int) splashProgressArea.getHeight();
     
                int doneWidth = Math.round(pct*wid/100.f);
                doneWidth = Math.max(0, Math.min(doneWidth, wid-1));  // limit 0-width
     
                // fill the done part one pixel smaller than the outline
                splashGraphics.setPaint(Color.RED);
                splashGraphics.fillRect(x, y+1, doneWidth, hgt-1);
     
                // make sure it's displayed
                mySplash.update();
            }
        }
    }
    Le code où j'introduis l'appel à ma classe dans mon programme principal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
     
    // La classe Message hérite des comportements d'une JFrame
    public class JeuCEP extends javax.swing.JFrame {
     
        // Constructeur
        public JeuCEP() {
            // Afficher la boite de bienvenue et explications
            new EcranDepart();       // Ici je tente d'afficher mon écran de départ mais ça ne fonctionne pas.
     
    //        setBounds(0,0,1024,724);        // Positionner et donner une taille à la fenêtre
            initComponents();                // Placer et afficher les composants créés depuis le mode Design
    J'essaie de garder la classe EcranDepart comme une classe externe (pour plus de lisibilité) mais le compilateur me suggère plutôt de la mettre comme une méthode.

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Quand tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new EcranDepart(); // Ici je tente d'afficher mon écran de départ mais ça ne fonctionne pas.
    tu crées une instance de EcranDepart, ce qui a pour effet d'exécuter le constructeur de cette classe, mais pas la méthode public static void EcranDepart(String[] args), ou tu as mis tout ton code.

    Donc au lieu de faire new EcranDepart() dans JeuCEP, appelles juste la méthode qui fait le code que tu veux faire, donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EcranDepart.EcranDepart(new String[0]/* paramètre inutilisé */);
    Bon, je pense que tu devrais virer le paramètre String[] args de ta méthode : tu l'as parce que tu as pris l'exemple du tuto de Oracle, qui faisait le code dans la méthode main. Mais ces paramètres ne sont pas utiles : donc autant les virer, plutôt que d'être obligé de passer quelque chose, qui ne sert pas.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2013
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 52
    Points : 20
    Points
    20
    Par défaut
    Merci pour ta réponse Joel.
    J'avais aussi essayé le code :
    EcranDepart a;
    a = new EcranDepart();
    Mais comme tu dis, je devais juste exécuter le constructeur.

    quand tu dis de virer le String qui est un paramètre qui ne sert à rien, veux-tu dire:
    EcranDepart.EcranDepart(); (là le compilateur me demande de créer une méthode dans JeuCEP...)

    J'ai introduis le code que tu m'as donné tel quel et rien ne s'affiche comme SplashScreen. Après quelque temps d'attente, c'est finalement mon petit jeu qui apparait.

    Comment on fait aussi pour écrire dans nos réponses du code dans un rectangle?

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Mario Cayer Voir le message
    quand tu dis de virer le String qui est un paramètre qui ne sert à rien, veux-tu dire:
    EcranDepart.EcranDepart();
    ?
    Je parle de l'enlever de l'appel mais aussi de sa déclaration, forcément :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public static void EcranDepart(/* se sert pas String[] args */) {
    ...
    }

    Citation Envoyé par Mario Cayer Voir le message
    Puisque encore ici, je ne te suis pas trop puisque le new n'y est plus....
    La méthode est statique (public static void ), donc inutile d'instancier la classe pour l’appeler.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2013
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 52
    Points : 20
    Points
    20
    Par défaut
    Malheureusement, ça ne fonctionne pas encore.
    Dans la classe EcranDepart, j'ai bien modifié la déclaration pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     public static void EcranDepart()
    Dans mon programme principal, j'ai bien changé le code pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       public JeuCEP() {
            // Afficher la boite de bienvenue et explications
            EcranDepart.EcranDepart();
    Et dans le démo de Oracle, il disent bien d'inclure aussi dans le fichier manifest.mf le Path du fichier splash.png
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Manifest-Version: 1.0
    SplashScreen-Image: Photos/splash.png
    X-COMMENT: Main-Class will be added automatically by build
    que je m'assure qu'il est bien à la même place que les autres photos (qui s'affichent très bien dans le programme principal)

    Dois-je aussi y inclure (dans le programme principal) l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EcranDepart.EcranDepart.setVisible(true);//Pour la rendre visible
    ?

  10. #10
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Le manifest est pour une éxécution sous forme de jar, mais pour tester dans l' IDE, il te faut utiliser un paramètre dans la ligne de commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -splash:Photo/splash.png
    Dans netbeans, il te faut éditer les Project properties, et ajouter ça dans le champ Arguments.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2013
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 52
    Points : 20
    Points
    20
    Par défaut
    Moi qui croyais faire un simple petit ajout à mon programme. Je dois avouer que je commence à penser à refaire toutes mes classes à partir du début.
    J'ai cherché à intégrer un simple petit programme dans un autre et je suis en train de douter de tout ce que j'ai appris. Je ne vois nulle part un tutoriel qui explique comment intégrer deux programmes ensemble.

    Le petit programme que je tente d'intégrer est justement un SplashScreen. Je suis un peu perdu puisqu'il faut maintenant ajouter des arguments au programme principal.
    J'ai bien trouvé l'endroit dans les propriétés mais ça ne fonctionne pas plus.
    Je rame...

    Je vois aussi très bien que la partie EcranDepart s'exécute (mais l'image ne s'affiche pas) puisque le temps d'attente est bel et bien présent à l'exécution.

  12. #12
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Je ne vois pas ce qu'il y a de compliqué. Tu ajoute les paramètres comme indiqué:

    SplashScreen-Image: <full or relative path to image in jar>
    dans le Manifest et


    -splash:<full or relative path to image in the project>

    dans la ligne de commande si tu n'utilise pas une jar.

    Ensuite, tu as la méthode splashinit qui sert à customizer le splash screen. T'as juste à la recopier et l'adapter :/

  13. #13
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Il n'y a pas de méthode pour intégrer 2 programmes ensemble. Il y a une infinité de programmes qui font des choses complètement différentes, et une infinité de façons différente s d'intégrer un programme dans un autre.

    Quand tu veux intégrer une nouvelle fonctionnalité dans un de tes programmes, et que tu trouves un tutoriel pour cette fonctionnalité, sous forme de programme exemple, il te faut comprendre l'exemple, afin de comprendre comment l'intégrer dans ton code. Tu ne pourras que très rarement t'en sortir que par un simple copier/coller.

    Pour le cas particulier du splashscreen, il s'agit d'une fonctionnalité particulière de java, qui nécessite un paramètre d'application, ce qui se fait différemment lorsqu'on exécute l'application sous forme de dossiers de classes, ou sous forme de jar exécutable (un jar exécutable étant exécutable par double-clic dessus, il faut bien pouvoir indiquer le paramètre quelque part).

    Maintenant, tu peux tout à fait gérer un splashscreen toi-même (comme je te l'ai indiqué dans l'autre fil ou tu demandais comment afficher une image avec un bouton), sans utiliser la fonction de java, ce qui te permet de ne plus avoir à gérer ce paramètre, si ça peut te simplifier les choses.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2013
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 52
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Je ne vois pas ce qu'il y a de compliqué. Tu ajoute les paramètres comme indiqué:

    SplashScreen-Image: <full or relative path to image in jar>
    dans le Manifest et


    -splash:<full or relative path to image in the project>

    dans la ligne de commande si tu n'utilise pas une jar.

    Ensuite, tu as la méthode splashinit qui sert à customizer le splash screen. T'as juste à la recopier et l'adapter :/
    Quand je serai Senior, j'espère que j'aurai trouvé toutes les réponses à mes questions stupides. Entre-temps, je l'avoue, je suis débutant et je m'assume sans arrogance ni de façon hautaine.
    Je suis désolé de poser une question aussi simple mais avant de la poser, j'ai vraiment tenté de faire toutes les recherches possibles selon mes connaissances acquises. Et je crois sincèrement être au bon endroit pour la poser. Milles excuses.

  15. #15
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Il n'y a pas à s'excuser, je demande juste des précision sur ce que tu trouve compliqué. Sinon, je ne vois pas comment on peut te débloquer

  16. #16
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2013
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 52
    Points : 20
    Points
    20
    Par défaut Ça avance
    Mon écran de démarrage fonctionne maintenant comme prévu. J'avais une erreur dans l'assignement des arguments. Je mettais la commande dans la section arguments au lieu de la section VM Options.

    Je compile le programme (Build and clean) pour avoir un .jar mais je ne réussis pas à ce stade à avoir ma fameuse page de démarrage. Il n'y a (comme au tout début) que mon programme principal qui est affiché.

    Dans le répertoire dist je ne retrouve que JeuCEP.jar ainsi que le dossier lib et le README.TXT.
    J'y ai copié le dossier Photos ainsi que le fichier manifest.mf mais le SplashScreen ne s'affiche pas encore.

    Merci de me faire avancer.

  17. #17
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    tu peux nous poster ton jar qu'on vois si il est correct?

  18. #18
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Je suppose qu'il doit y avoir un moyen d'indiquer qu'il faut inclure ton manifest particulier dans le jar.
    J'utilise Eclipse, et c'est assez visible dans le formulaire comme option, mais ne connaissant pas NetBeans, je ne peux te renseigner plus en détail sur la procédure à suivre. Je suppose que c'est dans le menu Project (là où on édite le project.properties).

    EDIT : oui, c'est ça, d'après la doc de NetBeans :
    Specify the manifest file for a JAR file.
    In project.properties, type the name of the manifest file in the manifest.file property. The file name must be specified relative to the project's build.xml file. Note that if you are using the Java Application template, the IDE creates a manifest file for you.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  19. #19
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2013
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 52
    Points : 20
    Points
    20
    Par défaut
    Le transfert ne se fait pas en pièces jointes. Alors je te le mets accessible par Google drive:

    https://drive.google.com/file/d/0Bwk...it?usp=sharing

  20. #20
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2013
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 52
    Points : 20
    Points
    20
    Par défaut
    Specify the manifest file for a JAR file.
    In project.properties, type the name of the manifest file in the manifest.file property. The file name must be specified relative to the project's build.xml file. Note that if you are using the Java Application template, the IDE creates a manifest file for you.
    Dans la section project.properties, il n'y a pas d'endroit où écrire le nom du manifest. Peux-tu me guider un peu?

    Comme tu peux le voir dans mon fichier de capture d'écran (en pièce jointe). Il n'y a pas d'endroit où je peux y inclure le manifest.mf ou une ligne de code du fichier...
    Images attachées Images attachées  

Discussions similaires

  1. Intégrer JasperReport dans une application Java
    Par jasmine22 dans le forum Jasper
    Réponses: 1
    Dernier message: 01/08/2012, 08h38
  2. connecter une application java avec une bd access
    Par laminou19 dans le forum JDBC
    Réponses: 1
    Dernier message: 16/04/2011, 22h43
  3. generer l'exe d'une application java avec JavaExe
    Par ammouna8888 dans le forum Persistance des données
    Réponses: 1
    Dernier message: 13/07/2010, 16h26
  4. [débutante]Intégrer flash dans une application java
    Par bouba83 dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 11/05/2006, 11h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo