begin process at 2008 09 06 19:59:57
1 237 931 membres
313 nouveaux aujourd'hui
14 314 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SPLASH SCREEN ;O) = FENETRE DE LANCEMENT D APPLICATION AVEC UNE IMAGE ;O) HÉHÉ


Information sur la source

Catégorie :Astuces Niveau : Débutant Date de création : 29/03/2004 Vu / téléchargé: 10 786 / 794

Note :
10 / 10 - par 3 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

bon voila  Source vraiment tres simple
en reponce a un post.  C ma bonne vielle class de splash screen ;o)

elle date de JDK 1.1 ;o) dc c pas tou neuf ;o) mais en fait je m en ser encor
car on a pas besoin de plus ;o)

il suffi de changer le nom(chemin) de l image dans le source pour l adapter
je presente une facon de l utiliser ds le main avec un commentaire pour le code a rajouter...

c tre simple...

Source

  • import java.awt.*;
  • /**
  • * @author ludo
  • * Ma class splash screen difficile de faire + simple ;o)
  • */
  • public class SplashScreen extends Frame
  • {
  • Image[] img;
  • public SplashScreen()
  • {
  • super();
  • setSize(400,300);
  • setUndecorated( true );
  • setFocusable( false );
  • setEnabled( false );
  • String fileloc = "./images/logo.jpg";
  • img = new Image[1];
  • img[0] = this.getToolkit().createImage( fileloc );
  • try
  • {
  • MediaTracker mTrack = new MediaTracker( this ); // load les image avan de les afficher
  • for ( int i = 0; i < img.length; i++ )
  • mTrack.addImage( img[ i ], i );
  • mTrack.waitForAll();
  • } catch( Exception e ) { System.out.println(" setimages e : " + e ); }
  • }
  • public void paint( Graphics g )
  • {
  • super.paint( g );
  • Dimension d = this.getSize();
  • g.drawImage( img[0], 0, 0, d.width, d.height, this ); // dessine l image
  • }
  • static public void main( String args[] )
  • {
  • try
  • {
  • GraphicsEnvironment ge = GraphicsEnvironment.
  • getLocalGraphicsEnvironment();
  • GraphicsDevice[] gs = ge.getScreenDevices();
  • GraphicsDevice gd = gs[0];
  • GraphicsConfiguration[] gc = gd.getConfigurations();
  • Rectangle r = gc[0].getBounds();
  • Point pt = new Point( (int)r.width/2, (int)r.height/2 );
  • SplashScreen sp = new SplashScreen();
  • Point loc = new Point( pt.x - 200, pt.y - 150 );
  • sp.setLocation( loc );
  • sp.setVisible(true);
  • // apres fau metre le splash en parametre a l apli
  • // et c elle ki fait le setvisible (false ) qd elle a fini de bosser
  • // genre ( sur son setvisible( true ) ou a la fin du constructeur ou autre... ;o)
  • //comme sa on peu pas la lancer plus tot ;o)
  • }
  • catch (Exception e)
  • {
  • System.out.println("enclosing_package.enclosing_method : " + e);
  • }
  • }
  • }
import java.awt.*;
/**
 * @author ludo
 * Ma class splash screen difficile de faire + simple ;o)
 */
public class SplashScreen extends Frame
{
    Image[] img;
    
    public SplashScreen()
    {
        super();
        setSize(400,300);
        setUndecorated( true );
        setFocusable( false );
        setEnabled( false );
        String fileloc = "./images/logo.jpg";
        img = new Image[1];
        img[0] = this.getToolkit().createImage( fileloc );
        try
        {
            MediaTracker mTrack = new MediaTracker( this ); // load les image avan de les afficher 
            for ( int i = 0; i < img.length; i++ )
                mTrack.addImage( img[ i ], i );
            mTrack.waitForAll();
        } catch( Exception e ) { System.out.println(" setimages e : " + e ); }
    }
    
    public void paint( Graphics g )
    {
        super.paint( g );
        Dimension d = this.getSize();
        g.drawImage( img[0], 0, 0, d.width, d.height, this ); // dessine l image 
    }
    
    static public void main( String args[] )
    {
        try
        {
            GraphicsEnvironment ge = GraphicsEnvironment.
            getLocalGraphicsEnvironment();
            GraphicsDevice[] gs = ge.getScreenDevices();
            GraphicsDevice gd = gs[0];
            GraphicsConfiguration[] gc = gd.getConfigurations();
            Rectangle r = gc[0].getBounds();
            Point pt = new Point( (int)r.width/2, (int)r.height/2 );
            SplashScreen sp = new SplashScreen();
            Point loc = new Point( pt.x - 200, pt.y - 150 );
            sp.setLocation( loc );
            sp.setVisible(true);
            
            // apres fau metre le splash en parametre a l apli 
            // et c elle ki fait le setvisible (false ) qd elle a fini de bosser 
            // genre ( sur son setvisible( true ) ou a la fin du constructeur ou autre... ;o) 
            
            
            //comme sa on peu pas la lancer plus tot ;o)
            
            
        }
        catch (Exception e)
        {
            System.out.println("enclosing_package.enclosing_method : " + e);
        }
    }
    
}

Conclusion

pas mieu ;o)
a vos clavier et go.. ;o)
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de GodConan le 29/03/2004 21:18:02

    ;o) a vis le code bizard au debu du main ;o)
    c l ilustration d un moyen de recuperer la taille de l ecran ;o)
    (juste histoire de dire k on utilise pas le getToolkit() ) ;o)
    pour afficher le splash au centre...
    ++

  • signaler à un administrateur
    Commentaire de tds le 01/04/2004 07:37:53

    Je peux proposer peut-être qqlc de plus simple...

    ...main(){
      loadingImage();
      chargementApplic();
      PATLoadingFrame.setVisible(false);
    }

    private JWindow            PATLoadingFrame    = new JWindow();
    ...
    ...
    private void loadingImage(){
        PATLoadingFrame.setSize(LOADINGWIDTH,LOADINGHEIGHT);    
        Container localContainer = PATLoadingFrame.getContentPane();
        localContainer.setLayout(new BorderLayout());
        localContainer.add(new JLabel(new       ImageIcon(getClass().getClassLoader().getResource(PATHIMAGE))));
              PATLoadingFrame.setLocation((PATTailleEcran.width/2)-(LOADINGWIDTH/2),(PATTailleEcran.height/2)-(LOADINGHEIGHT/2));
        PATLoadingFrame.setVisible(true);  
    }

    LOADINGWIDTH,... = taille image
    private Dimension PATTailleEcran = contient la dimension de l'écran;

    B@ron {EU.BELGIUM}

  • signaler à un administrateur
    Commentaire de GodConan le 01/04/2004 18:34:34

    en fait c pas vraiment  plus simple ;o) si tu regarde bien tu use bcp plus de class ;o) par contre c vrai que c mieu d utiliser une Window  ;o) meme pas une JWindow ;o) plusto qu une fram sa evite tou les set du debut... menfin pour se genre de class on fait pas tro le dificil ;o) héhé du moment que sa marche.... ;o)

  • signaler à un administrateur
    Commentaire de tds le 02/04/2004 07:53:29


    Tu as bien raison: pour le moment que cela 'marche' et que ce n'est pas trop lourd...
    Dis, est-ce que qqlq sait ou trouver un livre java3D correct et niveau expert??? C'est pour m'aider à développer mon GAME :p

    B@ron {EU.BELGIUM}

  • signaler à un administrateur
    Commentaire de GodConan le 02/04/2004 18:05:24

    ;o) ben perso g jamais eu de doc ;o) en java ... ;o)
    dc tou en epluchant les source java et javadoc ;-(

    ben vi chui povre ;-(

  • signaler à un administrateur
    Commentaire de deathmax le 05/09/2005 19:19:03

    Slt je suis un debutant et je vois pa comment changer le chemin de l' image ou alor ca affiche seulement une fenetre blanche ...

  • signaler à un administrateur
    Commentaire de GodConan le 06/09/2005 06:37:01

    String fileloc = "./images/logo.jpg";
    tu modifi cette valeur ...
    la cest un chemin relatif au repertoire d execution mais tu peut metre un chemin non relatif ...

  • signaler à un administrateur
    Commentaire de Ombitious_Developper le 03/03/2007 14:15:45

    Pourquoi ne pas utiliser JWindow?

    Et pour la fermeture? On aimerait bien ce se SpalshScreen reste visible durant une certaine  periode avant de se fermer.

  • signaler à un administrateur
    Commentaire de GodConan le 04/03/2007 09:50:39

    de toute facon avec le JDK 1.6 ce source est obsoléte ;o)

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Boutique

Boutique de goodies CodeS-SourceS