begin process at 2010 03 17 02:46:26
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Swing

 > BOOLEAN RENDERER POUR JTABLE

BOOLEAN RENDERER POUR JTABLE


 Information sur la source

Note :
8,5 / 10 - par 2 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Swing Classé sous :jtable, cellule, couleur Niveau :Initié Date de création :08/02/2003 Date de mise à jour :08/02/2003 12:55:23 Vu :8 072

Auteur : camuso

Ecrire un message privé
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

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

  • 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;
  • }
  • }
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


 Sources du même auteur

PASSAGE D'UNE IMAGE PAR SERIALIZATION (LA CLASS IMAGE N'EST ...

 Sources de la même categorie

Source avec une capture COMPTE À REBOURS par Julien39
JLABELIMAGE : GESTION D'UNE IMAGE EN ARRIÈRE-PLAN par bob22mael
Source avec Zip SÉLECTEUR DE DATES MULTIPLES, ORIGINE UHRAND par William44290
RECHERCHE D'ELEMENTS DANS UNE JLIST par Ze_Hulk
Source avec Zip Source avec une capture PROGICIEL DE LOCATION DE VOITURE par SoftDeath

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture JEU DE LA VIE DE CONWAY par tucobouch
Source avec Zip IMPORTER FICHIER EXCEL DANS UN JTABLE par pokitos
Source avec Zip Source avec une capture POPUPEDITOR POUR UN JTABLE par herve91fr
Source avec Zip Source avec une capture SUPPRIMER/AJOUTER UNE LIGNE par adams_001
Source avec Zip Source avec une capture COLONNES D'UNE JTABLE: FAIRE DISPARAÎTRE ET INSÉRER À NOUVEA... par uhrand

Commentaires et avis

Commentaire de ammouna0707 le 23/05/2009 22:56:30



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


 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

couleur de cellule dans une JTable [ par javateux ] bonjour, voila mn probleme:j veu colorer des cellules selectionnées dans une table et les garder en couleur, existe-t-il des proprietés pour la table Mettre en couleur la cellule selectionnee d'une JTable [ par kobee12 ] Salut a tous.J'aimerais pouvoir mettre en couleur la cellule que je selectionne en cliquant(par exemple le contour de la cellule en rouge).Je n'arrive Cellule JTable [ par javateux ] Salut, super g reussit à changer les couleur de cellules dans un jtable...le probleme c'est que la couleur est changée pour toute la colonne et non se couleur de jtable [ par adil1251985 ] besoin d'aide SVP alors je veux colorier quelques cellules de mon JTable selon le critère de la valeur de cette cellule c-a-d si la cellule n'est pas jTable et KeyPressed [ par circuit ] Bonjour a tous, je débute tous juste en java (habituer au visual basic), est je ne comprends par le fonctionnement de jTable avec l'événement KeyPres JTable LostFocus sur Cellule editable [ par crakos ] Bonjour,Voila j'ai crée mon JTable(JTextField) avec 5 colonnes dont 2 editables.Dans la premiere colonne je saisis un numero article est ca rempli sur cellule de jtable [ par kawtar_ch ] Bonjour tout le monde!!est-ce qu'on peut retourner a la ligne dans une cellule de jTable comme c le cas pour excel?Si c'est oui, comment peut-on faire EDITER CELLULE JTABLE [ par kyript ] Salut à tousj'essaye de rendre les cellule d'un JTable éditable  afin de mettre à jour une base de donnée.Mais je comprend pas le systeme de fonctionn prb JTable: l'utilisation de setCellSelectionEnabled() [ par Sebastien_teisseire ] voila, je souhaite empecher que l'utilisateur puisse selectionner une cellule, je fais donc dans mon constructeur de Jtable; _tableau.setCellSelection Relance: Saut de ligne dans la cellule d'une Jtable [ par empiret ] http://www.javafr.com/forum.v2.aspx?id=450128 - ne pas fixer la hauteur des cellules - en rajoutant dans ton texte la réprésentation du sau


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,170 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales