2012-02-22 2 views
7

Quando costruisco/eseguire il mio applet, fatta dal NetBeans Applet modulo ottengo 2 errori:Errore: chiamata deselezionata per DefaultComboBoxModel (E [])

warning: [unchecked] unchecked call to DefaultComboBoxModel(E[]) as a member of the raw type DefaultComboBoxModel 
     levelBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1", "2", "3", "4", "5", "6", "7" })); 
    where E is a type-variable: 
    E extends Object declared in class DefaultComboBoxModel 
warning: [unchecked] unchecked call to setModel(ComboBoxModel<E>) as a member of the raw type JComboBox 
     levelBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1", "2", "3", "4", "5", "6", "7" })); 
    where E is a type-variable: 
    E extends Object declared in class JComboBox 
2 warnings 

Se clicco sul menu a discesa ottengo un'esclamazione segnare accanto ad esso. Perché?

Inoltre, questo è con l'opzione "-Xlint: deselezionata".

risposta

10
new javax.swing.DefaultComboBoxModel(new String[] 

dovrebbe essere sostituito da

new javax.swing.DefaultComboBoxModel<String>(new String[] 

Questo avviso può essere ignorato pure.

+0

Grazie per l'aiuto. Ma questo si preoccupa solo di errore, l'altro rimane: ' avviso: [deselezionato] chiamata non selezionata a setModel (ComboBoxModel ) come membro del tipo raw JComboBox levelBox.setModel (new javax.swing.DefaultComboBoxModel (new String [] {"1", "2", "3", "4", "5", "6", "7"})); dove E è una variabile di tipo: E estensione oggetto dichiarato nella classe JComboBox 1 avviso ' – Squeazer

+2

Sembra che sia necessario utilizzare l'argomento tipo per JComboBox. Quindi, dove stai creando levelBox, devi usare il suo tipo come JComboBox . Si consiglia di leggere su generici in tutorial java. –