Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : JTable et CellRenderer [ Divers / Général ] (le_totophe)

mercredi 25 avril 2007 à 12:16:17 | JTable et CellRenderer

le_totophe

Membre Club
Bonjour à tous,

J'utilise pour une de mes tables un Renderer spécifique (la table est une JTable avec le TableSorter de chez Sun) qui logiquement doit m'afficher une ligne en rouge lorsque la 2ème colonne comporte la valeur "2". Que je laisse volontairement sous forme de chaine de caractère.
Voilà le code de mon Renderer:

public class TablePigeRenderer implements TableCellRenderer

{

    public static final DefaultTableCellRenderer DEFAULT_RENDERER = new DefaultTableCellRenderer();


    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)

    {

        Component renderer = DEFAULT_RENDERER.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

        ((JLabel) renderer).setOpaque(true);

        Color monRouge = new Color(248, 164, 171);

        Color background;

        if(!(isSelected))

        {

            if (table.getValueAt(row, 2).toString().compareTo("2") == 0) { background = monRouge; }

            else { background = Color.WHITE; }

            renderer.setBackground(background);

        }

        return renderer;

    }

}

Le problème est que ma table contient plusieurs colonnes de plusieurs types différents. Pour faire plus simple voici un exemple de données:

Object[][] data = { { new Boolean(false), new ImageIcon("toto.png"), "2", "PHRASE 1-1", new Integer(10000), "PHRASE 2-1"},

                            { new Boolean(true), new ImageIcon("tata.png"), "0", "PHRASE 1-2", new Integer(10000), "PHRASE 2-2"},

                            { new Boolean(false), new ImageIcon("titi.png"), "1", "PHRASE 1-3", new Integer(10000), "PHRASE 2-3"} };

Et au-lieu de m'afficher toute la ligne 1 (dans cette exemple) en rouge, seules les cellules de type String sont affichées en rouge.

Si quelqu'un pouvait m'aider à modifier celà ou à le recoder.

Merci d'avance à vous tous


jeudi 26 avril 2007 à 19:46:49 | Re : JTable et CellRenderer

le_totophe

Membre Club
Réponse acceptée !
Bon, voilà, je me réponds à moi même, c'est juste pour qu'il reste une trace si un jour quelqu'un à le même problème que moi.

En fait, c'est tout simple, il suffit de préciser pour chaque type le renderer que l'on veut.

ex:
jTable1.setDefaultRenderer(Object.class, new monRenderer());
jTable1.setDefaultRenderer(Integer.class, new monRenderer());
...

Voilou



Cette discussion est classé dans : table, jtable, boolean, phrase, renderer


Répondre à ce message

Sujets en rapport avec ce message

JTable liée à une table de ma base [ par nouroudiop ] Salut les gars,j'aimerais savoir comment on arrive à lier une JTable directement à une table de ma base pour pouvoir effectuer directement une mise à Combobox dans une jtABLE [ par perechev ] salut les gens, Est-ce quelqu'un saurait si on peut faire une table avec des combobox dedans? mais je voudrais choisir les cellules et pas que ce soit JTable, problème d'affichage [ par Kanouch ] Bonjour,j'essaie de créer une JTable à deux colonnes dans laquelle j'ajoute des éléments ligne par ligne. Je tape dans deux zones de texte et je stock Help Me : Imbrication de JTable [ par vinke00 ] Tout d abord boujour a tout hom. . .Mon probleme est le suivant : Comment faire pour que les objets d'une collone d'une JTable soit une autre JTable problème de couleur dans une JTable [ par jc_romeo ] BonjourJe voudrais mettre une couleur (ici rouge) en arrière fond pour chacune de mes cases de ma JTable(plus tard il y aura un algo qui permettra de JCombobox dans un JTable : getSelectedIndex, getSelectedItem... [ par largo_winzclav ] Bonjour et merci d'avance à tous ceux qui prendront le temps de m'aider,Dans une de mes applets, je fais apparaitre des cellules d'un JTable sous form Help JTable - Étudiante en détresse [ par EducJava ] Salut, J'ai vraiment besoin d'aide. Ca fait des jours que je tourne en rond. Je suis étudiante et dans un exercice que j'ai à faire, je dois implémen JTable et Renderer [ par seboune57 ] Bonjour a tous, j'aimerai appliquer un Render sur une seule colonne de ma JTable, comment dois-je faire!!!! Au secour !!! bouton delete dans une cellule d'unen JTable [ par empiret ] Bonjour, J'ai une JTable qui contient des lignes. Chaque ligne contient une cellule contenant un bouton 'delete'. Ce bouton sert a supprimer la ligne Jtable et evenement [ par sleep ] Bonsoir,Voici mon probleme de facon assez simplifiéeJe dispose d'une Jtable construite à partir c'une classe heritant d'un DefaultTableModel, et une d


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.