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

AWT/Swing Java Discussion :

[Splash screen] fin d'appli


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Par défaut [Splash screen] fin d'appli
    Bonjour,

    J'essaye de faire un Splash screen pour la fin de mon appli.
    Quand je rends ma JFrame non visible le splash screen disparait.
    Je ne sais pas comment eviter cela et n'avoir que mon splash screen durant la fermeture de mon appli.

    Voici un peu de code :
    le constructeur du splsh screen
    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
    public SplashWindow(String imagePath) {
    		super();
                    Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize();
                    if (imagePath != null && !imagePath.equals("")) {
                        try{
                            animPanel = new AnimPanel ("Stop Processing ....");
                            int animPanelHeight = (int)(animPanel.getPreferredSize().getHeight());
    			int animPanelWidth = (int)(animPanel.getPreferredSize().getWidth());
                            int imgX = (screenDimension.width - animPanelWidth) / 2;
    			int imgY = (screenDimension.height - animPanelHeight) / 2;
    			add(animPanel);
                            setLocation(imgX,imgY);
                            animPanel.start();
     
                            }
                        catch(Throwable e){JOptionPane.showMessageDialog(this,e);}
    		} else {
    			setLocation(screenDimension.width / 2, screenDimension.height / 2);
    		}
    		pack();
                    setVisible(true);
    	}
    Dans la JDialog de ma MaJFrame
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ok.addActionListener(new ActionListener()
            {
                 public void actionPerformed(ActionEvent e) 
                {
                    SplashWindow s = SplashWindow.getInstance("image/imageFin.jpg");
                     MaJFrame.this.setVisible(false);
                     fin();
     
                }
            });
    Merci d'avnce.

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Tu n'aurais pas un setDefaultCloseOperation à EXIT_ON_CLOSE pour ta JFrame ou un WindowListener avec un gros System.exit bien crade quelquepart dans ton appli?

  3. #3
    Membre expérimenté Avatar de Lethal
    Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 194
    Par défaut
    Ta class SplashScreen dérive de quoi? (Window,JDialog,JFrame,...)

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Par défaut
    Salut,

    Ma class SplashWindow extends de JWindow.

    Oui j'ai un System.exit dans ma méthode fin() qui intervient qu'à la fin fin.

    Si je ne mets pas MaJFrame.this.SetVisible(false) j'ai mon appli en fond et mon splashScreen devant qui fonction bien.

    Mon SplashWindow ne prend pas par défaut MaJFrame comme parent. Mais cela ne change rien. J'ai essayé de lui imposer MaJFrame comme parent et le résultat est le même.

  5. #5
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Bah cherches pas plus loin...
    Ton System.exit dans ta méthode fin tue tout le process java, donc ton Splash.
    Normalement un System.exit n'as pas besoin d'être employé pour fermer une appli (si il l'appli en a besoin c'est qu'elle n'est pas forcément bien codée).

  6. #6
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Citation Envoyé par sinok
    Normalement un System.exit n'as pas besoin d'être employé pour fermer une appli (si il l'appli en a besoin c'est qu'elle n'est pas forcément bien codée).
    Ben et si tu dois faire certains traitements avant de fermer ton appli (style détruire des fichiers temporaires), comment tu fais sans System.exit ?

  7. #7
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Bah les traitements ils se finisssent bien un jour...
    Et quand le prog n'a plus rien à faire (fenêtre disposée et traitements fini) bah il s'arrête de lui même...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/06/2010, 12h35
  2. Comment faire un splash screen pour son application?
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/04/2007, 14h28
  3. affichage texte style splash screen
    Par scorbo dans le forum MFC
    Réponses: 4
    Dernier message: 13/06/2004, 12h03
  4. [DX9] Splash Screen
    Par delire8 dans le forum DirectX
    Réponses: 6
    Dernier message: 03/06/2004, 10h30
  5. affichage de controles sur un splash screen
    Par shrek dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/11/2003, 19h59

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