j'ai une JTable où j'affecte un model. Ce modèle comporte une colonne
présentant plusieurs objets doté d'un attribut couleur. Je cherche le moyen
d'afficher à chaque ligne la couleur d'arrière plan spécifié par l'attribut
couleur de l'objet correspondant.
Est ce possible d'afficher les lignes d'un JTable avec une couleur d'arrière
plan différente? Si oui, comment?
J'ai cherché, et j'ai rien trouvé à ce sujet...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
christian Ginouvet
bonsoirs, suite a ton ptit blem j'ai peut etre quelque chose pour te depanner a savoir un code source si cela t'inter tu peut me contacter via mail
bien amicalement christian ginouvet
ps j tenter de joindre le code via cop/col pas fonctionn -- Ce message a été posté via la plateforme Web club-Internet.fr This message has been posted by the Web platform club-Internet.fr
http://forums.club-internet.fr/
bonsoirs,
suite a ton ptit blem j'ai peut etre quelque chose pour te depanner a savoir un
code source si cela t'inter tu peut me contacter via mail
bien amicalement christian ginouvet
ps j tenter de joindre le code via cop/col pas fonctionn
--
Ce message a été posté via la plateforme Web club-Internet.fr
This message has been posted by the Web platform club-Internet.fr
bonsoirs, suite a ton ptit blem j'ai peut etre quelque chose pour te depanner a savoir un code source si cela t'inter tu peut me contacter via mail
bien amicalement christian ginouvet
ps j tenter de joindre le code via cop/col pas fonctionn -- Ce message a été posté via la plateforme Web club-Internet.fr This message has been posted by the Web platform club-Internet.fr
http://forums.club-internet.fr/
Olivier Prin
Salut,
Copier/coller du tutorial java fourni en lien dans la doc de l'API:
public class ColorRenderer extends JLabel implements TableCellRenderer { ... public ColorRenderer(boolean isBordered) { this.isBordered = isBordered; setOpaque(true); //MUST do this for background to show up. }
public Component getTableCellRendererComponent( JTable table, Object color, boolean isSelected, boolean hasFocus, int row, int column) { Color newColor = (Color)color; setBackground(newColor); if (isBordered) { if (isSelected) { ... //selectedBorder is a solid border in the color //table.getSelectionBackground(). setBorder(selectedBorder); } else { ... //unselectedBorder is a solid border in the color //table.getBackground(). setBorder(unselectedBorder); } }
setToolTipText(...); //Discussed in the following section return this; } }
Ca affiche la case dans la couleur de l'objet Color contenu dans la case justement. Si tu as un autre objet plus personnel alors au lieu de "Color newColor = (Color)color;" tu mettras "Color newColor = (Color)monObjet.getColor();" avec monObjet récupéré en paramètre plutot que color.
Lien vers le tutorial : http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#renderer
Ca m'a bien aidé avec mes tables.
Olivier
Damien GUERIN wrote:
Bonjour,
j'ai une JTable où j'affecte un model. Ce modèle comporte une colonne présentant plusieurs objets doté d'un attribut couleur. Je cherche le moyen d'afficher à chaque ligne la couleur d'arrière plan spécifié par l'attribut couleur de l'objet correspondant. Est ce possible d'afficher les lignes d'un JTable avec une couleur d'arrière plan différente? Si oui, comment? J'ai cherché, et j'ai rien trouvé à ce sujet...
Merci pour votre aide...
Salut,
Copier/coller du tutorial java fourni en lien dans la doc de l'API:
public class ColorRenderer extends JLabel
implements TableCellRenderer {
...
public ColorRenderer(boolean isBordered) {
this.isBordered = isBordered;
setOpaque(true); //MUST do this for background to show up.
}
public Component getTableCellRendererComponent(
JTable table, Object color,
boolean isSelected, boolean hasFocus,
int row, int column) {
Color newColor = (Color)color;
setBackground(newColor);
if (isBordered) {
if (isSelected) {
...
//selectedBorder is a solid border in the color
//table.getSelectionBackground().
setBorder(selectedBorder);
} else {
...
//unselectedBorder is a solid border in the color
//table.getBackground().
setBorder(unselectedBorder);
}
}
setToolTipText(...); //Discussed in the following section
return this;
}
}
Ca affiche la case dans la couleur de l'objet Color contenu dans la case
justement. Si tu as un autre objet plus personnel alors au lieu de
"Color newColor = (Color)color;" tu mettras "Color newColor =
(Color)monObjet.getColor();" avec monObjet récupéré en paramètre plutot
que color.
Lien vers le tutorial :
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#renderer
Ca m'a bien aidé avec mes tables.
Olivier
Damien GUERIN wrote:
Bonjour,
j'ai une JTable où j'affecte un model. Ce modèle comporte une colonne
présentant plusieurs objets doté d'un attribut couleur. Je cherche le moyen
d'afficher à chaque ligne la couleur d'arrière plan spécifié par l'attribut
couleur de l'objet correspondant.
Est ce possible d'afficher les lignes d'un JTable avec une couleur d'arrière
plan différente? Si oui, comment?
J'ai cherché, et j'ai rien trouvé à ce sujet...
Copier/coller du tutorial java fourni en lien dans la doc de l'API:
public class ColorRenderer extends JLabel implements TableCellRenderer { ... public ColorRenderer(boolean isBordered) { this.isBordered = isBordered; setOpaque(true); //MUST do this for background to show up. }
public Component getTableCellRendererComponent( JTable table, Object color, boolean isSelected, boolean hasFocus, int row, int column) { Color newColor = (Color)color; setBackground(newColor); if (isBordered) { if (isSelected) { ... //selectedBorder is a solid border in the color //table.getSelectionBackground(). setBorder(selectedBorder); } else { ... //unselectedBorder is a solid border in the color //table.getBackground(). setBorder(unselectedBorder); } }
setToolTipText(...); //Discussed in the following section return this; } }
Ca affiche la case dans la couleur de l'objet Color contenu dans la case justement. Si tu as un autre objet plus personnel alors au lieu de "Color newColor = (Color)color;" tu mettras "Color newColor = (Color)monObjet.getColor();" avec monObjet récupéré en paramètre plutot que color.
Lien vers le tutorial : http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#renderer
Ca m'a bien aidé avec mes tables.
Olivier
Damien GUERIN wrote:
Bonjour,
j'ai une JTable où j'affecte un model. Ce modèle comporte une colonne présentant plusieurs objets doté d'un attribut couleur. Je cherche le moyen d'afficher à chaque ligne la couleur d'arrière plan spécifié par l'attribut couleur de l'objet correspondant. Est ce possible d'afficher les lignes d'un JTable avec une couleur d'arrière plan différente? Si oui, comment? J'ai cherché, et j'ai rien trouvé à ce sujet...