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

Composants Java Discussion :

DefaultRenderer et thread


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 175
    Par défaut DefaultRenderer et thread
    bonjour,

    je met a jour mon tablemodel par l intermediaire d'un thread comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public static  void updatejtable(){
     
    	FramePrincipale.modelTable.setDataVector(getVector(), FramePrincipale.columnName);
    		FramePrincipale.modelTableOpenPosition.fireTableDataChanged(); 	
    }
    puis dans ma frameprincipale je cree mon tablemodel en lui donnant mon CenterTableCellRenderer et mon ColorRenderer comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    modelTable = new DefaultTableModel(null, columnName);
    		table = new JTable( modelTable );
    		table.setDefaultRenderer(Object.class, new CenterTableCellRenderer());
    		table.setDefaultRenderer(Object.class, new ColorRenderer());
    le probleme est que le thread reinisialise le ColorRenderer() et je perd ma couleur.
    Peut on annulé l inisialisation de colorRenderer dans le thread?
    Est ce un probleme de focus?
    merci

  2. #2
    Membre très actif
    Avatar de william44290
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2009
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 400
    Par défaut
    Il y a peut-être un truc qui m'échappe mais le 2 deuxième table.setDefaultRenderer remplace le premier non ?

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 95
    Par défaut
    Même remarque que ci-dessus.

    De plus, où as-tu placé ton 2ème bloc, celui où tu initialises ton tableModel et le Renderer ? Es-tu certain qu'il n'est appelé qu'une seule fois, et pas à chaque mise à jour ?

    En tout cas, on ne peut pas annuler une initialisation, et je ne comprends pas pourquoi tu veux faire ça. Tu aurais plusieurs initialisations ? Si tel est le cas, ton problème est là, initialise le model et le renderer qu'une seule fois, par exemple dans le constructeur de ta classe.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    memes reflections qu'au dessus. JE rajouterais que "mon thread met à jour le table model" est douteux. Seul l'EDT est censé faire des mise à jour de composant swing (cf la faq java gui pour plus de détails)

Discussions similaires

  1. Tri multi-threadé
    Par Tifauv' dans le forum C
    Réponses: 8
    Dernier message: 28/06/2007, 09h00
  2. récupérer la valeur de sortie d'un thread
    Par jakouz dans le forum Langage
    Réponses: 3
    Dernier message: 31/07/2002, 11h28
  3. Programmer des threads
    Par haypo dans le forum C
    Réponses: 6
    Dernier message: 02/07/2002, 13h53
  4. Réponses: 5
    Dernier message: 12/06/2002, 15h12
  5. [Kylix] Pb de Thread !!
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 25/04/2002, 13h53

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