J'ai récemment commencé à apprendre ListCellRenderer
pour JComboBox
et j'ai finalement eu l'idée de base. Cependant, je ne peux pas définir l'état initial ou l'élément sélectionné initial de la zone de liste déroulante sur null
(ou l'index sélectionné sur -1). Je voudrais le mettre à -1 de sorte que lorsque le formulaire se charge, rien n'est encore sélectionné jusqu'à ce que l'utilisateur clique sur le menu déroulant pour sélectionner un élément.Réglage initial de l'index sélectionné de JComboBox à -1 ou rien
J'ai essayé d'utiliser la comboBox.setSelectedIndex(-1)
et comboBox.setSelectedItem(null)
GradeLevelDaoImpl gldi = new GradeLevelDaoImpl();
DefaultComboBoxModel gradeLevelModel = new DefaultComboBoxModel(gldi.getAllActiveGradeLevels().toArray());
jcmbGradeLevel.setModel(gradeLevelModel);
jcmbGradeLevel.setRenderer(new JComboBoxRenderer());
jcmbGradeLevel.setSelectedItem(null); //doesn't work
jcmbGradeLevel.setSelectedIndex(-1); //doesn't work
souhaiterai.
Et voici ce que je reçois quand je lance le formulaire.
GradeLevel
zone de liste déroulante est toujours sélectionné. L'indice est à 0;
Voici mon moteur de rendu. J'ai même essayé de définir le paramètre index
sur -1. index = -1;
sans succès. Essayé list.setSelectedIndex(-1)
, ne fonctionnera toujours pas.
Un conseil ou une solution?
1) 'if (isSelected) { this.setBackground (Color.YELLOW);' Il ne semble pas jaune ici. Est-ce qu'il est jaune quand un article est sélectionné en utilisant la liste déroulante? 2) Pourquoi ne pas définir la première valeur est 's'il vous plaît sélectionner' (ou tout ce qui signifie pour l'utilisateur)? 3) Pour une meilleure aide plus tôt, postez un [MCVE] ou [Short, Self Contained, Example correct] (http://www.sscce.org/). –
Que se passe-t-il lorsque 'value' n'est pas une instance de' ShoolYear', 'GradeLevel',' PaymentTerm', 'FeeCategory'? – MadProgrammer
@MadProgrammer Je reçois la représentation sous forme de chaîne de gradelevel qui est 12. – p3ace