2016-04-01 1 views
0

Je sais que cette question a déjà été posée, mais je ne trouve pas de solution au problème des zones de liste déroulante. J'ai le code suivant:Java Opérations non sécurisées avec les zones de liste déroulante

... 
JComboBox startingCombo = new JComboBox(); 
startingCombo.setModel(new DefaultComboBoxModel(new String[] {"USD", "EUR", "GBP"})); 
... 

je reçois une erreur lors de l'exécution de commandline:

Note: ConverterFrame.java utilise des opérations non vérifiées ou dangereuses. Remarque: recompiler avec -Xlint: non cochée pour plus de détails.

Lorsque je recompiler avec -Xlink: Je reçois plusieurs Décoché des erreurs suivantes:

ConverterFrame.java:88: avertissement: [sans contrôle] appel à DefaultComboBoxModel sans contrôle (E []) en tant que membre du type brut DefaultComboBoxModel

Cette ligne pointe ensuite vers "nouveau" sur la deuxième ligne du code fourni. Je comprends que j'ai besoin d'ajouter un type d'objet, mais je ne sais pas où l'ajouter et comment.

Répondre

1

Les deux JComboBox et DefaultComboBoxModel ont un paramètre de type générique pour le type de leurs articles. Vous voulez que les éléments de cordes écrivent donc

JComboBox<String> startingCombo = new JComboBox<>(); 
startingCombo.setModel(new DefaultComboBoxModel<String>(new String[] {"USD", "EUR", "GBP"})); 
+0

Merci, cela a fonctionné parfaitement! –

1

Utilisez cette option pour éviter des messages d'avertissement

JComboBox<String> startingCombo = new JComboBox<>();