2012-02-22 23 views
7

Khi tôi xây dựng/chạy applet của tôi, làm từ Form Applet NetBeans tôi nhận được 2 lỗi:Lỗi: Cuộc gọi không được kiểm soát để 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 

Nếu tôi bấm vào menu thả xuống tôi nhận được một dấu chấm than đánh dấu bên cạnh nó. Tại sao vậy?

Ngoài ra, tùy chọn này có tùy chọn "-Xlint: unchecked".

Trả lời

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

nên được thay thế bởi

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

cảnh báo này có thể được bỏ qua là tốt.

+0

Cảm ơn sự giúp đỡ. Nhưng điều đó chỉ chăm sóc về lỗi, người kia vẫn còn: ' cảnh báo: [bỏ chọn] cuộc gọi không được chọn tới setModel (ComboBoxModel ) là một thành viên của loại nguyên JComboBox levelBox.setModel (new javax.swing.DefaultComboBoxModel (chuỗi mới [] {"1", "2", "3", "4", "5", "6", "7"})); trong đó E là kiểu biến: E mở rộng đối tượng được khai báo trong lớp JComboBox 1 cảnh báo ' – Squeazer

+2

Có vẻ như bạn cũng cần sử dụng đối số kiểu cho JComboBox. Vì vậy, nơi bạn đang tạo levelBox, bạn cần sử dụng loại của nó như là JComboBox . Bạn có thể muốn đọc về generics trong hướng dẫn java. –

Các vấn đề liên quan