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 :

Réaffichage d'un panneaux contenant des images


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 18
    Par défaut Réaffichage d'un panneaux contenant des images
    Salut, j'ai un panneau qui contient des images avec un JScrollPane.
    Le truc du programme c'est que je fais de la recherche dans une base de données multimédia avec indexation.
    J'affiche alors les images similaires par ordre. pour la 1er fois tout marche bien et le panneau est bien affiché avec le JScrolllPane
    et lorsque j'effectue une 2eme recherche le panneau s'affiche aussi mais il suffit que je déplace le JScrollPane et les images deviennent celles de la 1er recherche.
    ça fait 4 heures que j'essaie de résoudre ce problème mais rien ne va.

  2. #2
    Membre très actif
    Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Par défaut
    Salut,

    Poste au moins ton morceau de code qui fait le raffraichissement de ton SCrollPane.

  3. #3
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 18
    Par défaut
    Citation Envoyé par Bapt.ice Voir le message
    Salut,

    Poste au moins ton morceau de code qui fait le raffraichissement de ton SCrollPane.
    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
    public void actionPerformed(ActionEvent arg0) {
    		if(arg0.getSource() == panRech.getBtnValider1())
    		{
    			float[] tabParam=panRech.getParametre();
    			ComparerImage cmp=new ComparerImage();
    			if(tabParam!=null)
    			{
    				if(!cmp.genererLesSignatures(conn, table, (int)tabParam[0],tabParam[1]
    			                                ,tabParam[2],tabParam[3], tabParam[4]))
    						JOptionPane.showMessageDialog(this,
    								"ID inexistant dans la base.", "Erreur", JOptionPane.ERROR_MESSAGE);
    				else{
    						this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
    						tabRech=cmp.getTableauDeSimilarite();
    						//init
    						for(int i=0;i<tabRech.length;i++){
    							System.out.println(tabRech[i]);
    						}
    						System.out.println("size="+tabRech.length);
    						JPanel panTmp=new JPanel(new SpringLayout());
    						for(int i=0;i<tabRech.length;i++)
    						{
    						    Image monImage = Toolkit.getDefaultToolkit().createImage(bytes);
    						    monImage=monImage.getScaledInstance(422,400, 800);
    						    ImageIcon i1= new ImageIcon(monImage);
    						    JLabel label=new JLabel(i1);
    						    label.setPreferredSize(new Dimension(422,400));
    						    panTmp.add(label);
    						    monImage=null;
    						    i1=null;
    						    label=null;
    						    bytes=null;
    						    ordImg=null;
    						    System.out.println("panneau"+i+"traité");
    						}
    						int row;
    						if((float)tabRech.length%3!=0)
    						{
    							JLabel label=new JLabel();
    						    label.setPreferredSize(new Dimension(422,400));
    						    panTmp.add(label);
    						    label=new JLabel();
    						    label.setPreferredSize(new Dimension(422,400));
    						    panTmp.add(label);
    						    row=tabRech.length/3+1;
    						}
    						else
    							row=tabRech.length/3;
    						System.out.println("row="+row);
    						SpringUtilities.makeCompactGrid(panTmp, //parent
                                    row, 3,
                                    0, 0,  //initX, initY
                                    0, 0); //xPad, yPad
    						JScrollPane scroll=new   JScrollPane(panTmp);
     
    						tabParam=null;
    						cmp=null;
    						tabRech=null;
    						panSouth.add(scroll,BorderLayout.WEST);
    						//panTmp=null;
    						tabPane.setOpaque(true);
    						tabPane.repaint();
    						scroll=null;
    						this.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
    						//panSouth.repaint();
    						//FenetrePrincip.this.repaint();
    						//Repainter rep=new Repainter(this);
    						//rep.start();
     
     
     
    				}
    			}
    		}
    		else{
    			System.out.println("nn");
    		}
     
    	}

  4. #4
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 18
    Par défaut
    Salut, pour cette erreur j'ai utilisée alors une nouvelle fenêtre pour afficher les images.
    Après j'ai voulu faire la mise à jour d'une JTable après chaque ajout de données à la base. Et je retombe sur le même problème.
    Je crois que je sais vraiment pas comment rafraichir un composant graphique java.

  5. #5
    Membre expérimenté Avatar de uhrand
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 203
    Par défaut
    Essaie ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    panSouth.removeAll();
    panSouth.add(scroll, BorderLayout.WEST);
    panSouth.revalidate();
    panSouth.repaint();

Discussions similaires

  1. [Mail] Envoi de mail contenant des images
    Par juliotte dans le forum Langage
    Réponses: 4
    Dernier message: 06/09/2006, 15h48
  2. Comment protéger un dossier contenant des images ?
    Par guy777 dans le forum Sécurité
    Réponses: 12
    Dernier message: 17/06/2006, 22h42
  3. Réponses: 2
    Dernier message: 22/05/2006, 00h07
  4. [JAR] créer une archive .jar contenant des images.
    Par keny dans le forum Général Java
    Réponses: 2
    Dernier message: 14/03/2005, 13h17
  5. Création d'une base de données contenant des images
    Par gandalf_le_blanc dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 16/06/2004, 15h29

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