2012-02-22 6 views
7

Kiedy budować/uruchomić mój aplet, wykonany z NetBeans Applet Postaci I dostać 2 błędy:Błąd: niezaznaczone wywołanie 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 

Gdybym kliknij na liście rozwijanej pojawia się wykrzyknik zaznacz obok niego. Dlaczego?

Jest to również z opcją "-Xlint: unchecked".

Odpowiedz

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

należy zastąpić

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

To ostrzeżenie może być ignorowane, jak również.

+0

Dzięki za pomoc. Ale to tylko dba o błędzie, a druga pozostaje: ' ostrzeżenie: [zaznaczone] niezaznaczone wywołanie setModel (ComboBoxModel ) jako członek surowej typu JComboBox levelBox.setModel (nowa javax.swing.DefaultComboBoxModel (nowy ciąg [] {"1", "2", "3", "4", "5", "6", "7"})); gdzie E jest zmienną typu: E extends Obiekt zadeklarowany w klasie JComboBox 1 ostrzeżenie ' – Squeazer

+2

Wygląda na to, że musisz również użyć argumentu typu dla JComboBox. Więc tam, gdzie tworzysz levelBox, musisz użyć jego typu jako JComboBox . Możesz przeczytać o generycznych w samouczkach java. –

Powiązane problemy