NetBeans - предупреждение JComboBox - аргументы отсутствующего типа для универсального класса JComboBox <E>

Я использую среду IDE NetBeans 7.1.2. Когда я скомпилирую свое приложение, я получаю следующее предупреждение:

предупреждение: [rawtypes] найден сырой тип: JComboBox         city ​​= new javax.swing.JComboBox(); отсутствующие аргументы типа для универсального класса JComboBox, где E - переменная типа:     E extends Объект, объявленный в классе JComboBox

Итак, я предполагаю, что я должен объявить JComboBox следующим:

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

Но как это сделать в NetBeans, используя Matisse (Swing GUI Builder)? Пожалуйста помоги.

Ответ 1

В Netbeans 7.2 вы можете нажать на раздел кода для JComboBox, а затем записать тип в "Параметры типа", в вашем случае: <String>.

Ответ 2

В Java 7 были представлены обобщения для JComboBox. Одним из решений вашей проблемы будет использование Java 6.

Я бы сказал, что последняя версия Netbeans (7.2) будет иметь решение для этого (хотя я не уверен).

В противном случае, если я правильно помню, вы можете просмотреть код, созданный Netbeans. Если это так, вы можете добавить общий аргумент самостоятельно. Прошло много месяцев с тех пор, как я перебрался с Netbeans, хотя...

Кроме того, если Netbeans позволяет вам, вы можете добавить аннотацию @SupressesWarnings над объявлением JComboBox (или даже над объявлением класса, хотя это изменяет его область). Это будет примерно так:

@SuppressWarnings("rawtypes")
JComboBox city = new JComboBox();

Существует множество опций, но Netbeans может удержать вас от реализации некоторых из них.