2012-08-09 1 views
10

NetBeans IDE 7.1.2를 사용하고 있습니다.NetBeans - JComboBox 경고 - 제네릭 클래스 JComboBox에 대한 유형 인수가 없습니다. <E>

경고 : [rawtypes] 발견 원시 유형 : 내 응용 프로그램을 컴파일 할 때 나는 다음과 같은 경고 얻을 JComboBox에 도시 = 새 javax.swing.JComboBox을(); E는 타입 변수 제네릭 클래스 JComboBox에 대한 누락 된 형태 인수 :

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

그러나 방법 : E가 객체

그래서 클래스 JComboBox를 선언 연장, 나는 내가 같이 JComboBox를 선언 할 것 같아요 Matisse (Swing GUI Builder)를 사용하여 NetBeans에서이 작업을 수행합니까? 도와주세요.

답변

1

Java 7은 JComboBox에 제네릭을 도입했습니다. 귀하의 문제에 대한 한 가지 해결책은 Java 6을 사용하는 것입니다.

Netbeans (7.2)의 최신 버전이 이에 대한 해결책을 제공 할 것이라고 확신합니다 (긍정적이지는 않지만).

내가 기억한다면 Netbeans에서 생성 된 코드를 볼 수 있습니다. 그렇다면 일반적인 arguement를 직접 추가 할 수 있습니다. 그래도 난 넷빈즈와 함께 만지작 이후 넷빈즈 당신이, 당신이 JComboBox 선언 위의 @SupressesWarnings 주석을 추가 할 수 있도록 허용하는 경우 (또는 클래스 선언 위에 그 그것의 범위를 변경 있지만) 그것은 또한 ...

을 몇 개월되었습니다 .

많은 옵션이 있지만 Netbeans에서는 일부 기능을 구현하지 않을 수 있습니다.

+0

Nick 코드를 다음과 같이 변경하려고 시도했습니다. city = new javax.swing.JComboBox (); NetBeans에서는 선언 변수를 변경할 수 없기 때문에 도시는 private javax.swing.JComboBox city;로 정의됩니다. 이 작업을 수행 할 때 다음과 같은 경고가 나타납니다. 새로운 표현식에 중복 형식 인수가 사용되었습니다 (대신 다이아몬드 연산자 사용). – jadrijan

+1

Java 버전을 다운 그레이드하거나 Netbeans IDE를 업데이트하지 않고도 경고를 회피 할 수 있을지 확신하지 못합니다. 다행히도 실제 코드에는 영향을 미치지 않으므로 경고 일뿐입니다. 괴롭히는 경우 선언문 위에 다음 줄을 추가해보십시오.'@SuppressWarnings ("rawtypes")'나는 이것을 답에도 추가 할 것입니다. Netbeans에서 컴파일러 경고를 끄는 방법을 모르겠습니다 - 다른 사람이 알 수 있습니다. –

+0

고맙습니다. Nick. 적어도 지금은 코딩 당 하나도 잘못하지 않는다는 것을 알고 있습니다. 이 버전이 v7.2에서 수정 되었으면 좋겠다. 아직 시도하지는 않았지만 oracle이 JDK를 릴리스 할 때까지 기다렸다. – jadrijan

15

Netbeans 7.2에서 JComboBox에 대한 코드 섹션을 클릭 한 다음 유형 매개 변수로 유형을 입력하십시오 (예 : <String>).

+4

이것은 코드 섹션에 접근하는 방법을 명확히하는 데 도움이되었습니다. JComboBox를 마우스 오른쪽 단추로 클릭하고 _Properties_를 선택한 다음 속성 창 상단에있는 _Code_ 섹션을 선택합니다. _Type Parameters_는 상단에 가깝습니다. – chr

+0

@chr을 입력하고 꺾쇠 괄호 _including_ 형식 매개 변수를 작성해야합니다. –