IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

[JTable] header renderer : pas d'effet


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Par défaut [JTable] header renderer : pas d'effet
    Bonjour,

    j'ai un tableau dont j'aimerais modifier la couleur du fond du header pour chaque colonne, j'ai donc implémenter un cellrenderer et fait un setTableHeaderRenderer mais ca ne fonctionne pas.

    Je suppose que je fais un truc pas bien (ou pas du tout)

    code de mon renderer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    import java.awt.Color;
    import java.awt.Component;
     
    import javax.swing.JLabel;
    import javax.swing.JTable;
    import javax.swing.table.TableCellRenderer;
     
     
    public class ResultTableHeaderRenderer extends JLabel implements TableCellRenderer{
     
    	boolean  _selected = false;
     
     
    	ResultTableHeaderRenderer(String columnName)
    	{
    		super(columnName);
     
    	}
     
    	public void setSelected(boolean select)
    	{
    		_selected = select;
    	}
     
    	public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
     
    		if (_selected)
    		this.setBackground(new Color(255,127,80));
    		else
    			this.setBackground( new Color(141,182,205));
    		return this;
    	}
     
    }
    quand je demande de printer le headerRenderer d'une colonne ca me met bien un objet de type ResultTableHeaderRenderer ce n'est donc pas un problème d'affectation ...

    Un idée ?

  2. #2
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 83
    Par défaut
    Retourne un JLabel auquel tu mets la couleur de fond.

    - JLable monLabel = new JLabel()

    - Tu récupère ton objet et fais le traitement que tu veux.
    MonObjet monObjet = (MonObjet) value

    monLabel.setText(monObjet.maMethode())3
    monLabel.setColor(maColor);
    return monLabel;


    Et voila c'est pas plus compliqué.

  3. #3
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Par défaut
    Citation Envoyé par L Ankou
    Retourne un JLabel auquel tu mets la couleur de fond.

    - JLable monLabel = new JLabel()

    - Tu récupère ton objet et fais le traitement que tu veux.
    MonObjet monObjet = (MonObjet) value

    monLabel.setText(monObjet.maMethode())3
    monLabel.setColor(maColor);
    return monLabel;


    Et voila c'est pas plus compliqué.
    euh .. ce n'est pas déjà ce que je fais ?

    retourner où ? (je comprend pas exactement ce que tu entend par "retourne un jlabel ..." ...)

  4. #4
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Par défaut
    *remonte* .. je n'y arrive toujours pas ...
    queqlqu'un ??
    un petit code d'un exemple qui marche ?? ...
    *rah y a pas de smiley puppy eyes !* lol)

  5. #5
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 83
    Par défaut
    art, par retourné je voulais dire qu'a la fin de getTableCellRendererComponent(...) tu fais un return monLabel comme ca tu return un objet de type JLabel et non pas un renderer

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 137
    Par défaut
    Et en mettant setOpaque à true ??


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ResultTableHeaderRenderer(String columnName)
    	{
    		super(columnName);
    		setOpaque(true);
    	}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JTABLE][MODEL][RENDERER]Communication
    Par cameleon2002 dans le forum Composants
    Réponses: 1
    Dernier message: 31/12/2005, 14h36
  2. [Jtable] DefaultTableModel renderer des boolean
    Par lilou77 dans le forum Composants
    Réponses: 2
    Dernier message: 20/12/2005, 15h32
  3. [JTable] cell renderer
    Par biozaxx dans le forum Composants
    Réponses: 2
    Dernier message: 21/04/2005, 10h04
  4. [Swing]Case a cocher JTable, et Renderer
    Par bibx dans le forum Composants
    Réponses: 16
    Dernier message: 29/12/2004, 14h49
  5. [JTable] Comment ne pas afficher les titres ?
    Par FabienBxl dans le forum Composants
    Réponses: 3
    Dernier message: 08/10/2003, 15h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo