Colorer une cellule de jTable sur java

NoooR -  
 ninojo -
Bonjour,
je veut colorer une cellule de jTable sur java sans utiliser le model du table, je veut une methode directe, merci
Configuration: Windows XP
Firefox 2.0.0.12

3 réponses

  1. Utilisateur anonyme
     
    Il faut que tu définisses ta propre classe java qui définit l'affichage de tes cellules :
    import java.awt.Color;
    import java.awt.Component;
    
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableCellRenderer;
    
    public class MonCellRenderer extends DefaultTableCellRenderer {
    
    	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 == 1 && column == 1)
    			cell.setBackground(Color.BLUE);
    		else
    			cell.setBackground(Color.WHITE);
    		return cell;
    	}
    }
    Ce code aura pour effet de colorer en bleu la case 1,1 et les autres en blanc.
    Ensuite tu dis que ta table utilise ce CellRenderer :
    JTable table = new JTable();
    table.setDefaultRenderer(Object.class, new MonCellRenderer());
    Bonne continuation ;-)
    14
    1. NoooR
       
      j'ai pas bien compris, moi j'ai déjà une table qui est créée, et je veut colorer des cellules bien précises, merci de me errépondre
      0
  2. Utilisateur anonyme
     
    Si ta table est déjà créée alors tu rajoutes juste cette ligne de code :
    table.setDefaultRenderer(Object.class, new MonCellRenderer());
    à ta table.

    La classe MonCellRenderer te permet de définir l'affichage de chaque case de ta table. Dans mon exemple, je teste si la ligne et la colonne valent 1 et dans ce cas je mets la couleur bleu. Dans les autres cas je mets du blanc. A toi de changer ma classe pour l'adapter à tes besoins.
    0
    1. zangalni
       
      qu'est ce que vous voulez dire par la colonne vale 1 et la ligne 1??
      j'ai essayé le code ça ma colore toute la ligne..
      0
    2. Gentelman
       
      Salut
      ce code colorer un seul ligne , je ne sais pas comment résolu ce probleme ?
      0