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 :

JScrollPane problème de rafraichissement après un changement de dimension


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre expérimenté
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 084
    Points : 1 525
    Points
    1 525
    Billets dans le blog
    5
    Par défaut JScrollPane problème de rafraichissement après un changement de dimension
    Salut à tous

    J'utilise un JPanel pour afficher une grande image et pour pouvoir la visualiser entièrement j'utilise un JScrollPane. Par ailleurs j'ai mis aussi en place un système de zoom qui fonctionne en augmentant ou en diminuant la taille du JPanel (voici le code)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public void DeZoom() {
    	zoom += 1;
    	if (zoom > 20)
    	    zoom = 20;
    	Dimension dim=new Dimension(bataille.getLargeur()/zoom,bataille.getHauteur()/zoom);
    	setPreferredSize(dim);
    	setMaximumSize(dim);
    	setMinimumSize(dim);
    	repaint();
     
        }
    Mon problème est que si je visualise la partie inférieure droite de mon image et que je réduit le zoom, je me retrouve avec un fond tout gris au lieu de mon image. Si je bouge une des barres de défilement tout revient à la normale.

    N'y a il pas moyen de rafraichir la position des barres de défilement?

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    au lieu de repaint() fait revalidate()

  3. #3
    Membre expérimenté
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 084
    Points : 1 525
    Points
    1 525
    Billets dans le blog
    5
    Par défaut
    Je suis obligé de garder le repaint par contre en ajoutant le revalidate ça fonctionne. J'avais trouvé aussi updateUI()

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Gouyon Voir le message
    Je suis obligé de garder le repaint par contre en ajoutant le revalidate ça fonctionne. J'avais trouvé aussi updateUI()

    Le revalidate sert à faire réagir le layout au changement de taille du panel.

    donc oui effectivement (j'avais pas tilté la dessus ) le repaint est nécessaire parce que dans ton cas il faut aussi redessiner (parce que ton panel est centré). Fait bien le revalidate() avant le repaint();


    updateUI() c'est plûtôt, pour les composants de GUI, quand tu fais des changements de look and feel

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

Discussions similaires

  1. [PrestaShop] Page d'accueil après un changement de thème
    Par sophieds dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 27/12/2017, 01h16
  2. Réponses: 4
    Dernier message: 31/01/2012, 14h56
  3. Problème de rafraichissement après un évènement
    Par Caalador dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 18/11/2010, 17h36
  4. Problème de rafraichissement d'une barre de défilemement JScrollPane
    Par ForgetTheNorm dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 25/12/2008, 16h05
  5. [AJAX] Rafraichissement après insertion dans la base
    Par xave dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/05/2007, 10h56

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