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

 Java Discussion :

[swing] Probleme JTable et selection de ligne


Sujet :

Java

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut [swing] Probleme JTable et selection de ligne
    Bonsoir a tous,

    j'ai personnaliser une DefaultTableCellRenderer pour afficher des images comme ceci :

    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
    public class PictureCellRenderer extends DefaultTableCellRenderer
    {
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
    	private JLabel label;
     
    	public PictureCellRenderer()
    	{
    		this.label = new JLabel();
    		this.setOpaque(true);
    		this.label.setHorizontalAlignment(CENTER);
    	}
     
    	@Override
    	public Component getTableCellRendererComponent(JTable arg0, Object value, boolean isSelected, boolean arg3, int row, int column) 
    	{
    		Person type = (Person)value;
    		if (type == null)
    			return (this.label);
    		if (isSelected == true)
    			this.label.setBackground(Color.yellow);
    		this.label.setIcon(type.getImageType());
    		this.label.setToolTipText(type.getStringType());
    		return (this.label);
    	}
    }
    cela fonctionne cependant la selection bug sur cette colone (la derniere case n'est pas selectionnee :


    De plus, comment faire lorsque que je clique sur une case, que celle-ci ne soit pas d'une couleur un peu differentes des autres cases de la ligne selectionnees (premiere case sur la photo)?

    Merci d'avance

    Cordialement,
    NeoKript

  2. #2
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    DefaultTableCellRenderer est déjà un JLabel. (false ci-dessous pour ne pas montrer la case qui a le focus)
    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
    public class PictureCellRenderer extends DefaultTableCellRenderer
    {	
    	public PictureCellRenderer()
    	{
    		this.label.setHorizontalAlignment(CENTER);
    	}
    	
    	@Override
    	public Component getTableCellRendererComponent(JTable arg0, Object value, boolean isSelected, boolean arg3, int row, int column) 
    	{
    		super.getTableCellRendererComponent(arg0, null, isSelected, false, row, column);
    		Person type = (Person)value;
    		if (type != null) {
    			setIcon(type.getImageType());
    			setToolTipText(type.getStringType());
    		}
    		return this;
    	}
    }

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut
    Citation Envoyé par herve91 Voir le message
    DefaultTableCellRenderer est déjà un JLabel. (false ci-dessous pour ne pas montrer la case qui a le focus)
    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
    public class PictureCellRenderer extends DefaultTableCellRenderer
    {	
    	public PictureCellRenderer()
    	{
    		this.label.setHorizontalAlignment(CENTER);
    	}
    	
    	@Override
    	public Component getTableCellRendererComponent(JTable arg0, Object value, boolean isSelected, boolean arg3, int row, int column) 
    	{
    		super.getTableCellRendererComponent(arg0, null, isSelected, false, row, column);
    		Person type = (Person)value;
    		if (type != null) {
    			setIcon(type.getImageType());
    			setToolTipText(type.getStringType());
    		}
    		return this;
    	}
    }
    Nikel c'est pile le resultat que je voulais.
    Merci beacoup

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

Discussions similaires

  1. [XL-2007] Probleme de selection de lignes sous VBA
    Par coco.on.off dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/08/2014, 20h50
  2. [SWING] JTable avec nombre de ligne dynamique !
    Par MaxLaMenaX dans le forum Composants
    Réponses: 1
    Dernier message: 18/10/2010, 02h18
  3. Probleme se selection de lignes
    Par david77320 dans le forum WinDev
    Réponses: 2
    Dernier message: 30/11/2007, 11h57
  4. Probleme selection de ligne dans recherche
    Par quentingsc dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 24/01/2007, 17h34
  5. probleme select : mauvaise ligne récupérée
    Par ffraggy dans le forum Oracle
    Réponses: 5
    Dernier message: 15/06/2006, 08h50

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