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 :

Problème coloration lignes jtable


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2009
    Messages : 26
    Par défaut Problème coloration lignes jtable
    Bonjour
    j'essaye de colorer des lignes de mon jtable,
    j'ai trouvé ce code:

    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
     
    package alerte;
     
    import java.awt.Color;
    import java.awt.Component;
     
    import java.text.SimpleDateFormat;
    import java.util.Date;
     
     
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableCellRenderer;
     
    public class ColorRendererR extends DefaultTableCellRenderer {
            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
     
            Date d=new Date();String m="";
     
     
            @Override
    	public Component getTableCellRendererComponent(JTable table, Object value,
    			boolean isSelected, boolean hasFocus, int row, int column) {
    		Component cell = super.getTableCellRendererComponent(table, value,
    				isSelected, hasFocus, row, column);
     
                    if(column == 3){
                            m=table.getValueAt(row,column).toString().replace("00:00:00", "");
                            table.setValueAt(m, row, column);
     
                    }
     
                    if(isSelected)
                    {
     
                    }
                    else{
     
                                             cell.setBackground(Color.WHITE);
                                            cell.setForeground(Color.BLACK);
     
     
     
                                            if(Integer.parseInt(table.getValueAt(row,4).toString().trim())<=0 )
                                     {
                                            cell.setBackground(Color.PINK);
                                     }
                                 System.out.println("msg a afficher");
     
                    }
     
     
     
    		return cell;
    	}
    }

    j'ai arrivé à colorer les lignes, mais mon problème est que l'affichage de "msg a afficher" ne s'arrete pas et l'utilisation de processeur est presque 100%.
    voila aussi le code pour l'appel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for(int i = 0;i < table_liste_tache.getColumnCount();i++){
    		   ColorRendererR cr = new ColorRendererR();
     
    		   table_liste_tache.getColumnModel().getColumn(i).setCellRenderer(cr);
    }
    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2009
    Messages : 26
    Par défaut
    la cause de problème vient de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(column == 3){
                            m=table.getValueAt(row,column).toString().replace("00:00:00", "");
                            table.setValueAt(m, row, column);
     
                    }
    mais j'ai pas compris pourquoi cette partie de code fait planter le processus.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 179
    Par défaut
    Citation Envoyé par lakhdharani Voir le message
    la cause de problème vient de
    mais j'ai pas compris pourquoi cette partie de code fait planter le processus.
    C'est le setValue qui provoque ça. En modifiant le modèle, tu vas automatiquement activer un réaffichage de la table qui modifie à nouveau le modèle, qui provoque le réaffichage et ainsi de suite.... Dans les fonctions d'affichage, on ne touche pas au modèle !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2009
    Messages : 26
    Par défaut
    Citation Envoyé par kwxyz Voir le message
    C'est le setValue qui provoque ça. En modifiant le modèle, tu vas automatiquement activer un réaffichage de la table qui modifie à nouveau le modèle, qui provoque le réaffichage et ainsi de suite.... Dans les fonctions d'affichage, on ne touche pas au modèle !
    Merci beaucoup pour ton explication,

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

Discussions similaires

  1. Problème colorer sélection JTable
    Par encours dans le forum Composants
    Réponses: 3
    Dernier message: 19/12/2011, 16h56
  2. [WD11]Problème coloration de lignes d'une table
    Par arnaud_verlaine dans le forum WinDev
    Réponses: 2
    Dernier message: 05/09/2007, 09h40
  3. problème de lignes supprimées dans une JTable
    Par AnjouWeb dans le forum Composants
    Réponses: 2
    Dernier message: 22/06/2007, 12h59
  4. Colorer ligne jtable
    Par mmb04 dans le forum Composants
    Réponses: 7
    Dernier message: 17/04/2007, 15h52
  5. Coloration de certaines lignes jTable
    Par lhpp dans le forum Composants
    Réponses: 13
    Dernier message: 07/11/2006, 20h26

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