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 :

comment colorier deux cases?


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de zangaloni
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 474
    Par défaut comment colorier deux cases?
    Bonjour,
    j'essaye de faire une classe que je vais appeler par plusieurs classes,et pour chaque classe je dois colorier deux cases....pour cela j'ai eu l'idée de faire un constructeur,avec 4 parametre,les deux premier seront pour la premiere case et les deux dernierers pour la deuxieme
    voici le code de ma classe
    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
    public class MonCellRenderer extends DefaultTableCellRenderer {
    	int i,j,k,l;
    public MonCellRenderer(int i,int j,int k,int l){
     
    }
    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 (row == i && column == j)
    		cell.setBackground(Color.BLUE);
    	if (row == k && column == l)
    			cell.setBackground(Color.pink);
    		else
    	cell.setBackground(Color.white);
    	return cell;
    }
    }
    j'ai essayé de l'appeler de cette maniere
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		   table.setDefaultRenderer(Object.class, new MonCellRenderer(1,2,1,3));
    mais ça marche pas

  2. #2
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    les variables i, j, k, l n'ont aucune valeur

    essaie avec ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public MonCellRenderer(int i,int j,int k,int l){
    	this.i = i;
    	this.j = j;
    	this.k = k;
    	this.l = l;
    }
    et puis un "ça marche pas" n'aide pas beaucoup. ll faut mettre l'exception s'il y en a une, ou mieux décrire le problème

  3. #3
    Membre très actif Avatar de zangaloni
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 474
    Par défaut
    salut,
    j'ai ajouter ces lignes à mon code...je n'ai pas d'erreur ...mais j'ai une seule case qui est coloré,celle en rose....celle en bleu ne se colore pas

  4. #4
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    c'est juste un problème dans tes if/else

    essaie avec ceci
    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
     
    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 (row == i && column == j)
    		cell.setBackground(Color.BLUE);
    	else if (row == k && column == l)
    		cell.setBackground(Color.PINK);
    	else 
    		cell.setBackground(Color.WHITE);
    	return cell;
    }

  5. #5
    Membre très actif Avatar de zangaloni
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 474
    Par défaut

    tu avais bien raison...même si j'ai pas compris pourquoi il fallait ajouter "else"
    normalement il doit il doit lire toute les "if" nn?
    en tout cas merci énormement pour votre précieux aide

  6. #6
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SI ligne = i Et colonne = j 
         mettre couleur en bleu
    SINON SI ligne = k Et colonne = l
         mettre couleur en rose
    SINON //on est dans une autre case qui est différente de i/j et k/l
         mettre couleur en blanc
    n'oublie pas que cette méthode est appelée pour chaque cellule du tableau

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

Discussions similaires

  1. JTable Comment colorier les cases
    Par GérardMartinelli dans le forum Composants
    Réponses: 7
    Dernier message: 12/06/2013, 18h30
  2. Réponses: 9
    Dernier message: 13/01/2012, 15h33
  3. comment dimentioner jtable et colorier ces cases
    Par nessing dans le forum JBuilder
    Réponses: 1
    Dernier message: 20/03/2008, 22h36
  4. comment désensibiliser la case
    Par Ekimasu dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 11/07/2004, 19h15
  5. comment lier deux tables?????
    Par baboune dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 16/03/2004, 14h45

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