Boolean renderer pour jtable

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 429 fois - Téléchargée 26 fois

Contenu du snippet

Class Java permettant d'afficher une couleur dans
une cellule d'une JTable en fonction d'un objet Boolean s'y trouvant.
Gris = Vrai ; Blanc = Faux ; bleu = cellule sélectionnée

Source / Exemple :


import javax.swing.table.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class BooleanRenderer extends DefaultTableCellRenderer 
{
	public Component getTableCellRendererComponent (JTable table,			Object value, boolean isSelected,				boolean hasFocus, int row,
			int column) 
	{
	
	// Appel de la méthode de la classe mère  
	
	Component comp = super.getTableCellRendererComponent(
                                         table, value, isSelected, hasFocus, row, column);
		
	// Récupération du Jlabel qui est renvoyé
	
		JLabel label = (JLabel)comp;
	
	// Mise en place d'un text vide 
		label.setHorizontalTextPosition(JLabel.CENTER);
		label.setText("");
	

     // Sélection de la couleur à afficher en fonction de l'Object value qui est un 
     // objet Boolean => ici Object value
     // que l'on aura placé lors de la création de la JTable 
     // CF. DefaultTableModel dtm = new DefaultTableModel
     //                                                                    (cells,columnNames);
        
		if(((Boolean)value).booleanValue())				label.setBackground( Color.gray );
		else
			label.setBackground( Color.white );
		
                                if(isSelected)
		                 label.setBackground(Color.blue);
		
// Renvoie du Component (ici un JLabel) qui sera affiché dans la cellule
		return label;
	}
}

Conclusion :


Si vous voulez d'autres trucs sur les swing du genre un JTree qui charge ses noeuds dynamiquement faite-le moi savoir :))

Au fait on n'est pas obliger de faire ça avec un Boolean, ça peut être in Integer ou une String il suffira de faire le bon cast et d'affecter une couleur spécifique en fonction.
Notez également qu'on n'est pas obligé de renvoyer un JLabel, un Component
de votre fabrication peut également faire l'affaire

A voir également

Ajouter un commentaire

Commentaires

cs_nesrinaa
Messages postés
1
Date d'inscription
jeudi 20 novembre 2008
Statut
Membre
Dernière intervention
6 janvier 2011
-
Salut Ammouna ,
S'il vous plait , pouvez-vous m'indiquer comment afficher les éléments d'une ontologie dans un jtree?
Merci d'avance
ammouna0707
Messages postés
6
Date d'inscription
lundi 4 décembre 2006
Statut
Membre
Dernière intervention
23 mai 2009
-
bonjour,
j'affiche les éléments d'une ontologie dans un jtree et je veux u colorer les noeud de jtree qui contienne une proprtion du mot donnée en entré de recherche.
aidez moi s'il vous plais je suis débutante et je n'ai pas trouvé une solution.
merci d'avance

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.