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

Agents de placement/Fenêtres Java Discussion :

Afficher une suite d'image dans un JScrollPane


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 34
    Points : 19
    Points
    19
    Par défaut Afficher une suite d'image dans un JScrollPane
    Bonjour,

    Je souhaiterais afficher une suite d'images dans un JScrollPane, pour cela j'utilise le code suivant :

    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
     
                                    Iterator<File> test1 = original.iterator();
    				ImagePanel test = null;
    				BufferedImage image = null;
    				while(test1.hasNext()) {
    					try {
    						image = ImageIO.read(test1.next());
    					} catch (IOException e1) {
    						e1.printStackTrace();
    					} 
    					test = new ImagePanel(image);
    					imagePanel.add(test);
    					imagePanel.setViewportView(test);
    					imagePanel.repaint();
    					image=null;
    					test=null;
    					System.gc();
    					try {
    						Thread.sleep(1000);
    					} catch (InterruptedException e1) {
    						e1.printStackTrace();
    					}
    				}
    Cependant le programme mouline et au bout d'un moment m'affiche seulement la dernière image. Qu'est-ce qui ne va pas ?

    Merci d'avance pour votre aide

  2. #2
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Slt,
    je crois que tu te plantes un peu. Déjà tu peux virer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    image=null;
    test=null;
    System.gc();
    try {
    	Thread.sleep(1000);
    } catch (InterruptedException e1) {
    	e1.printStackTrace();
    }

    Pourquoi tu pause le thread ? Et l'appel au GC force le thread du GC à bosser, ce qui prend des ressources.
    Ensuite, ton appel à repaint() à chaque chargement doit bien alourdir le truc.
    A mon avis soit tu charges toutes les images et ensuite t'affiches, soit tu passes en multithreads si tu penses que le temps de chargement est trop long.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 34
    Points : 19
    Points
    19
    Par défaut
    Salut,

    En fait j'ai 300 images de 15mo chacune à charger, les charger toutes d'un coup me donne une outOfMemoryError. J'ai la même erreur quand je ne fais pas explicitement appel au GC à la fin de chaque tour de boucle.

    J'ai viré la pause du thread et j'ai toujours le même problème.

    @+

Discussions similaires

  1. Réponses: 11
    Dernier message: 10/10/2012, 15h17
  2. Afficher une liste d'images dans une cellule
    Par thierryler dans le forum Composants
    Réponses: 2
    Dernier message: 18/05/2011, 21h31
  3. afficher une liste d'image dans la mème interface
    Par soforan dans le forum Interfaces Graphiques
    Réponses: 7
    Dernier message: 05/05/2008, 14h42
  4. afficher une suite d'entier dans un WxEdit
    Par schrader dans le forum wxWidgets
    Réponses: 1
    Dernier message: 25/06/2006, 22h16
  5. afficher une suite de nombres dans une string
    Par hysah dans le forum C++
    Réponses: 4
    Dernier message: 27/04/2006, 18h51

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