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 :

[DefaultListCellRenderer] JLabel de l'item sélectionné d'une JComboBox


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052
    Par défaut [DefaultListCellRenderer] JLabel de l'item sélectionné d'une JComboBox
    Bonjour,

    Je me suis rendu compte que lorsque l'on implémente un renderer (basé sur DefaultListCellRenderer) on n'a pas accès au JLabel de l'item selectionné dans une JComboBox. Celui dont l'index est égal à -1.

    Voici un exemple tout simple qui le met en évidence, je me contente de modifié la couleur du texte. Mais la couleur du texte de l'item sélectionné reste noir.

    Comment fait-on pour (non pas modifier la couleur ce qui en soit m'intéresse fort peu) mais pour accéder au composant qui affiche l'item sélectionné ?

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    import java.awt.Color;
    import java.awt.Component;
    import javax.swing.DefaultListCellRenderer;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JList;
    import javax.swing.JPanel;
     
    public class TestListRenderer {
     
    	public static void main(String[] args) {
    		JComboBox combo = new JComboBox();
     
    		combo.setRenderer(new Renderer());
     
    		combo.addItem("Jongleur");
    		combo.addItem("Clown");
    		combo.addItem("Trapéziste");
     
    		JPanel panel = new JPanel();
    		panel.add(combo);
    		panel.add(new JComboBox());
     
    		JFrame frame = new JFrame();
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		frame.setContentPane(panel);
    		frame.pack();
    		frame.setLocationRelativeTo(null);
    		frame.setVisible(true);
     
    	}
     
    }
     
    class Renderer extends DefaultListCellRenderer {
     
    	@Override
    	public Component getListCellRendererComponent(JList list, Object value,
    			int index, boolean isSelected, boolean cellHasFocus) {
    		super.getListCellRendererComponent(list, null, index, isSelected,
    				cellHasFocus);
     
    		setText(value.toString());
    		setForeground(Color.BLUE);
     
    		return this;
    	}
     
    }

  2. #2
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052
    Par défaut
    J'ai été trop hâtif dans ma demande.
    On accède aux composants puisque le texte est affiché par setText(value.toString()), mais on ne peut modifier ni la couleur (fond ou texte), ni mettre un tooltiptext, alors que l'on a accès au texte ou même à l'icone ??

Discussions similaires

  1. [Débutant] Retrouver les items sélectionnés dans une listbox
    Par Shennong dans le forum VB.NET
    Réponses: 3
    Dernier message: 16/05/2014, 16h02
  2. [Débutant] Supprimer des fichiers à partir des items sélectionnés d'une listbox
    Par Shennong dans le forum VB.NET
    Réponses: 16
    Dernier message: 12/05/2014, 18h24
  3. [Flex4] Perte de l'item sélectionné dans une DropDownList
    Par elisabeth dans le forum Flex
    Réponses: 13
    Dernier message: 20/01/2014, 11h24
  4. Réponses: 4
    Dernier message: 04/04/2011, 11h46
  5. [XL-2007] Item sélectionné dans une listbox
    Par gds35 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/03/2010, 17h45

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