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 :

Cadre blanc splash screen


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 236
    Points : 80
    Points
    80
    Par défaut Cadre blanc splash screen
    je sais que la question a été posé dans les forums mais les solutions testées ne m'ont pas données satisfaction.
    j'ai donc une jolie classe java SplashScreen se trouvant ci dessous, étant la copie conforme du code se trouvant ici :http://java.developpez.com/sources/?...ngSplashScreen
    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
    /*
     * SplashScreen.java
     *
     * Created on 23 mai 2007, 12:25
     *
     * To change this template, choose Tools | Template Manager
     * and open the template in the editor.
     */
     
    package projetifm;
     
    import javax.swing.JWindow; 
    import java.awt.*; 
    import java.awt.image.*; 
    import javax.imageio.*; 
    import java.net.*; 
    import java.io.*; 
    import java.util.*; 
     
    public class SplashScreen extends JWindow
    {
    	private BufferedImage image; 
    	public SplashScreen(String file, long time)
            {
    		super();
     
    		URL url = getClass().getResource(file);
    		try
                    {
                            image = ImageIO.read(url);
    			setSize(new Dimension(image.getWidth(), image.getHeight()));
    			setLocationRelativeTo(null);
    			setAlwaysOnTop(true);
    			setVisible(true);
    		}
                    catch(IOException ioe)
                    {
                        System.out.println(ioe.getMessage());
                    }
    		if(time>0)
                    {
    			TimerTask dispose = new TimerTask()
                            {
    				public void run(){dispose();}	
    			};
    			Timer timer = new Timer();
    			timer.schedule(dispose, time);
    			try
                            {
    				Thread.sleep(time);
    			}
                            catch(Exception e){e.printStackTrace();}
    		}
    	}
    	public SplashScreen(String file)
            {
    		this(file,0);	
    	}
    	public void paint(Graphics g)
            {
    		if(image.getColorModel().hasAlpha()){
    			try
                            {
    				Robot robot = new Robot();
    				BufferedImage fond = robot.createScreenCapture(getBounds());
    				MediaTracker tracker = new MediaTracker(this);
    				tracker.addImage(fond,0);
    				tracker.waitForAll();
    				g.drawImage(fond, 0,0,null);
    			}
                            catch(Exception e){e.printStackTrace();}
    		}
    		g.drawImage(image,0,0,null);	
    	}
    }

    je lance mon splash avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SplashScreen splash_photo = new SplashScreen("img/loading.gif");
    Mais ceci ne m'affiche qu'un cadre blanc...
    D'où viendrait l'erreur je ne comprend pas trop?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 236
    Points : 80
    Points
    80
    Par défaut
    Le problème doit venir de cette partie du code car en le mettant en paramètre j'obtiens exactement la même chose a savoir un carré blanc de la taille de l'image que j'essaye d'afficher :

    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
    public void paint(Graphics g)
            {
               super.paintComponents(g);
                if(image.getColorModel().hasAlpha())
                {
    			try
                            {
    				Robot robot = new Robot();
    				BufferedImage fond = robot.createScreenCapture(getBounds());
    				MediaTracker tracker = new MediaTracker(this);
    				tracker.addImage(fond,0);
    				tracker.waitForAll();
    				g.drawImage(fond, 0,0,this);
    			}
                            catch(Exception e)
                            {
                                e.printStackTrace();
                            }
    		}
    		g.drawImage(this.image,0,0,image.getWidth(),image.getHeight(),this);
     
     
    	}

Discussions similaires

  1. Ecran blanc après splash screen
    Par Max67 dans le forum Android
    Réponses: 4
    Dernier message: 19/10/2012, 17h34
  2. Splash Screen : Cadre gris à la place de l'image
    Par LinoaHeart dans le forum AWT/Swing
    Réponses: 17
    Dernier message: 20/06/2007, 11h14
  3. Comment faire un splash screen pour son application?
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/04/2007, 14h28
  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