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 :

[JComboBox] Afficher un texte si l'objet est null


Sujet :

Composants Java

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 64
    Points : 47
    Points
    47
    Par défaut [JComboBox] Afficher un texte si l'objet est null
    Bonjour,

    J'ai une combobox qui contient des objets. Je lui ai également ajouté la valeur null (qui doit représenté "Tous") :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    List<Courrier> listeCourrier = new ArrayList<Courrier>();
    listeCourrier.add(null);
    listeCourrier.addAll(CourrierDao.getCourriers(""));
    m_courrierCombo = new JComboBox();
    if (listeCourrier != null && !listeCourrier.isEmpty()) {
    	for (int i = 0; i < listeCourrier.size(); i++) {
    		m_courrierCombo.addItem(listeCourrier.get(i));
    	}
    }
    J'ai redéfini la méthode toString() de mon objet Courrier pour qu'elle retroune le nom du courrier.
    Pour la valeur null que j'ai ajouté, il y a une ligne vide dans la combo. J'aimerais qu'il y ai noté "Tous".

    Pour cela j'ai ajouté un renderer mais je vois pas trop comment lui dire qu'il faut mettre "Tous" si c'est null :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    m_courrierCombo.setRenderer(new ListCellRenderer() {
    	@Override
    	public Component getListCellRendererComponent(JList list,
    		Object value, int index, boolean isSelected,
    		boolean cellHasFocus) {
    	      Component cmp = getListCellRendererComponent(;, value, index, isSelected, cellHasFocus)
    	      if (value == null) {
    		// Afficher "Tous" ??
    	      }			
    	      return cmp;
    	}
    });
    Qqun peut-il m'aider ?

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Déjà ton renderer est incorrect car la méthode getListCellRendererComponent() se rappelle elle-même, et qu'elle ne représente pas un composant...


    Le plus simple serait d'étendre DefaultListCellRenderer afin de bénéficier de son code, et de simplement modifier la valeur si elle est nulle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	m_courrierCombo.setRenderer(new DefaultListCellRenderer() {
    		@Override
    		public Component getListCellRendererComponent(JList list,
    			Object value, int index, boolean isSelected, boolean cellHasFocus) {
    			// On modifie la valeur si elle est nulle :
    			if (value==null) {
    				value = "Tous";
    			}
    			// Et on appelle la méthode parente :
    			return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
    		}
    	});
    a++

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 64
    Points : 47
    Points
    47
    Par défaut
    En effet, ça fonctionne mieux...

    Merci beaucoup

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

Discussions similaires

  1. Tester si un objet est null
    Par methodman225 dans le forum JPA
    Réponses: 2
    Dernier message: 04/02/2009, 10h02
  2. [JComboBox] Afficher du text qui n'est pas dans la liste
    Par metaska dans le forum Composants
    Réponses: 3
    Dernier message: 10/09/2008, 13h30
  3. JavaME : tester si un objet est null
    Par ®om dans le forum Java ME
    Réponses: 4
    Dernier message: 31/01/2008, 10h18
  4. Réponses: 1
    Dernier message: 02/10/2007, 10h12
  5. [VB.Net] Afficher des données dont la valeur est nulle
    Par badnane2 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 06/06/2006, 13h23

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