OVH Cloud OVH Cloud

JTable et colorBackground ?

2 réponses
Avatar
Damien GUERIN
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...

2 réponses

Avatar
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/
Avatar
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...