2011-02-03 3 views
0

J'ai enfin mon inv de travail! : D Mais, tu sais ... maintenant ... c'est idiot. Je veux dire « Utiliser article 1 » ou quoi que quand je clique droit si je fais ceci:JMenuItem affiche un nom bizarre

 if (actItemx == "Item 1") { 
      popup.add(dropMenuItem + " " + actItemx); // should print "Use Item 1" 
      popup.add(cancelMenuItem); 
     } 

Attend bien pour moi ... mais ... quand je compile, il est très bien. Quand je l'exécute, c'est bien ... mais quand je le fais: waaaaht

Je l'aurais juré parce que c'est affiché correctement dans CMD qu'il s'afficherait correctement sur JMenu ... bizarre.

Répondre

3
popup.add(dropMenuItem + " " + actItemx); 

cette commande est adjonction toString() representaion du composant Swing dropMenuItem, plus un espace, la valeur de chaîne de actItemx.

Je suppose que vous voulez:

popup.add(dropMenuItem.getText() + " " + actItemx); 
+1

me devança. Aussi, utilisez 'equals()' pour la comparaison de chaînes, pas '=='. Mais la meilleure solution ne serait-elle pas 'dropMenuItem.setText()' et l'ajouter au lieu d'un 'String'? –

+0

Je ne peux pas vraiment comprendre ce que l'OP essaie de faire. Je supposais qu'il y avait une sorte d'élément de menu parent et il essaie de créer un élément enfant basé sur le texte du parent, donc il ne veut pas écraser l'élément de menu existant, mais en créer un nouveau. J'essayais principalement de décrire la cause du problème et laisser l'affiche décider de la bonne solution. – camickr

+0

Merci! Je l'ai. – nn2