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

AWT/Swing Java Discussion :

[JComboBox] Problème de renderer


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 201
    Par défaut [JComboBox] Problème de renderer
    Salut,

    J'ai un JComboBox avec un renderer qui suit la javadoc:

    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
    36
    37
     
    class ColorPreviewComboBoxRenderer extends JLabel implements ListCellRenderer {
     
    		Color activeCellBackground = new Color(230, 230, 230);
    		Color inactiveCellBackground = Color.WHITE;
    		Color activeCellForeground = Color.BLACK;
    		Color inactiveCellForeground = Color.BLACK;
     
    		public ColorPreviewComboBoxRenderer() {
    			setOpaque(true);
    			setHorizontalAlignment(LEFT);
    			setVerticalAlignment(CENTER);
    		}
     
    		public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
     
    		  int selectedIndex = ((Integer)value).intValue();
     
    		  if (isSelected) {
    		  	setBackground(activeCellBackground);
    		  	setForeground(activeCellForeground);
    		  } else {
    		  	setBackground(inactiveCellBackground);
    		  	setForeground(inactiveCellForeground);
    		  }
     
    		  ColorPreview icon = iconColorList[selectedIndex];
    		  String colorStr = strColorList[selectedIndex];
     
    		  setIcon(icon);
    		  setText(colorStr);
    		  setFont(new Font("Helvetica", Font.TRUETYPE_FONT, 12));
    		  setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 2));
     
    		  return this;
    	  }
    	}
    Le problème qui se pose c'est que lorsque je veux récupérer les valeurs courantes avec getSelectedItem par exemple, j'ai une exception de type NullPointerException...

    Est-ce une incompatibilité avec le renderer ?

    (Pourtant dans la javadoc c'est fait exactement comme ici...)

  2. #2
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Essaie en rajoutant
    dans ton constructeur pour voir...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 201
    Par défaut
    Salut,

    Merci pour ta réponse, j'ai résolu le problème qui venait d'ailleurs (désolé), cependant le comportement reste étrange. un getSelectedItem me renvoit l'index et non pas le composant à l'intérieur de la cellule. J'en connais la cause mais je ne vois pas comment faire en sorte que les méthodes de ce type ne renvoient pas une valeur totalement différente de ce qu'elles sont censées renvoyer...

  4. #4
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Citation Envoyé par hush
    Salut,

    Merci pour ta réponse, j'ai résolu le problème qui venait d'ailleurs (désolé), cependant le comportement reste étrange. un getSelectedItem me renvoit l'index et non pas le composant à l'intérieur de la cellule. J'en connais la cause mais je ne vois pas comment faire en sorte que les méthodes de ce type ne renvoient pas une valeur totalement différente de ce qu'elles sont censées renvoyer...
    Désolé, mais la méthode getSelectedItem() renvoie bien un Object.
    Tu dois faire une erreur quelque part...

Discussions similaires

  1. Renderer Jcombobox (Problème de selection)
    Par Seuub dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 26/11/2013, 00h25
  2. JTable et JComboBox : problème lors de l'édition
    Par Claythest dans le forum Composants
    Réponses: 13
    Dernier message: 25/04/2006, 18h18
  3. [JComboBox] Problème de taille
    Par sozie9372 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 14/03/2006, 11h49
  4. [JComboBox] Problème dans le PopMenu après ajout
    Par bidon dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 29/03/2005, 15h52
  5. [swing][JComboBox]Problème de taille
    Par n!co dans le forum Composants
    Réponses: 8
    Dernier message: 06/03/2004, 10h53

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