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

Interfaces Graphiques en Java Discussion :

Boucle getValue Renderer


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre régulier
    Homme Profil pro
    Etudiant
    Inscrit en
    Septembre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2012
    Messages : 69
    Points : 86
    Points
    86
    Par défaut Boucle getValue Renderer
    Bonjour à tous,

    J'ai un petit problème. Mon programme boucle sur le getValue d'une JTable redéfinit, et je pense que cela vient du Renderer (qui est également redéfinit). Lorsque j'affiche la jtable à l'écran le getValue s'execute en boucle (j'ai mis un System.out pour afficher un message), et lorsque je la masque avec un SplitPane la méthode n'est plus appelé.
    J'ai essayé de retirer mes Renderer mais sans succés.
    Je ne vois pas d'où peut venir le problème.
    La boucle ne me bloque pas l'application, donc en soit ce n'est pas génant, mais je ne veux pas laisser ça.

    Si quelqu'un a une petite idée ou un soupçon, je suis preneur.

  2. #2
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Une erreur sans doute.
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  3. #3
    Membre régulier
    Homme Profil pro
    Etudiant
    Inscrit en
    Septembre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2012
    Messages : 69
    Points : 86
    Points
    86
    Par défaut
    Salut,

    Oui c'est sur mais à quel niveau à ton avis ?
    Parce que j'ai beau chercher, que se soit dans le code ou hors, je ne trouve pas.

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    la boucle ne bloque pas l'application -> en quoi c'est une boucle infinie alors?

    JTable appelle getValue dès qu'il a besoin de redessiner l'un ou l'autre élément, et ça passe par le renderer le dessin. Si ta JTable se redessine en permanence, c'est que quelque chose lui dit en permanence qu'il faut se redessiner.

    T'aurais pas fait un appel à repaint sur le JTable dans le renderer par hasard??

  5. #5
    Membre régulier
    Homme Profil pro
    Etudiant
    Inscrit en
    Septembre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2012
    Messages : 69
    Points : 86
    Points
    86
    Par défaut
    Salut tchize_,

    C'est une "boucle infinie" car j'ai un system.out.println("getValue") dans le getValue et ce message est écrit en boucle, mais mon programme fonctionne je peux continuer à utiliser mon programme.
    En mode debogage c'est une methode de la classe JTable.class qui appel mon getValue (je ne peux pas voir les méthodes présentent dans JTable.class, problème de chemin de ressources).

    Je n'utilise pas de méthode de rafraichissement dans les renderer. De plus j'ai essayé sans les renderer mais idem.

    Donc vous confirmez que c'est une erreur de prog, je vais me taper le code.
    Merci à vous

  6. #6
    Membre régulier
    Homme Profil pro
    Etudiant
    Inscrit en
    Septembre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2012
    Messages : 69
    Points : 86
    Points
    86
    Par défaut
    Ok j'ai résolu le problème. J'avais placé un repaint() dans le paintComponent() de ma fenêtre

    Merci à vous

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

Discussions similaires

  1. [XSLT] Faire une boucle sur une variable [i]
    Par PoT_de_NuTeLLa dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/06/2010, 12h45
  2. [langage] if et boucle { ..}
    Par kacedda dans le forum Langage
    Réponses: 15
    Dernier message: 28/04/2003, 17h25
  3. [directsound] boucle de traitement de son
    Par gargle dans le forum DirectX
    Réponses: 5
    Dernier message: 24/03/2003, 10h47
  4. Sortir d'un progamme qui boucle ou qui refresh
    Par mikevador02 dans le forum C
    Réponses: 12
    Dernier message: 14/12/2002, 09h38
  5. Réponses: 2
    Dernier message: 29/05/2002, 20h43

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