2012-10-09 62 views
0

Eclipse IDE中顯示在JComboBox的錯誤,說的JComboBox不能parametarized 例如:像線顯示下方的Java Swing JComboBox中不能被參數

private final JComboBox<LaborHelper> labourname = new JComboBox<LaborHelper>(); 

這裏我的項目執行環境javaSE1.6

+3

這是因爲...'JComboBox'不能被參數... –

回答

3

看看java 1.6 documentation for JComboxBox,類JComboxBox不是Java 1.6的通用類。

它需要一個數組或對象作爲用戶的選擇,並通過調用對象的toString方法顯示它們(因此如果要定製標籤,則必須覆蓋它)。

要訪問用戶選擇的值,你將有如下投選擇的項目: (LaborHelper)labourname.field.getSelectedItem()

然而,this should work with java 1.7+JComboxBox成爲一個通用類。

+0

這裏是我的Java版本 「1.7.0_05」 的Java(TM)SE運行時環境(建立1.7.0_05-B05) Java的熱點( TM)64位服務器虛擬機(內部版本23.1-b03,混合模式)但仍然是相同的錯誤 –

+0

@chrish這是te編譯器的版本,它很重要。你在執行'javac.exe -version'時會得到什麼版本? – Mesop

+0

我正在使用eclipse。我如何檢查天氣哪個版本的日食使用的編譯器? –

5

JComboBox在Java 1.7之前不支持類型說明(參數化)。所以,你將在Java 1.6或更舊版本中出現編譯錯誤。

2

您只能參數化一個通用類型。 JComboBox沒有通用版本。

更新

的通用版本JComboBox<E>可在Java 7中你可能需要升級你的Java版本。

0

再就是似乎是在Eclipse(開普勒)的錯誤:我選擇JRE 1.6,JDK 1.6,編譯器合規性級別1.6,但在使用帶類型參數的JComboBox時,Eclipse不顯示任何錯誤。 很奇怪。

0

好吧,你已經知道你爲什麼得到這個錯誤。你如何擺脫它?

注:這是一個NetBeans的解決方案在JComboBox

單擊鼠標右鍵,請訪問:

Properties > Code >

在代碼選項卡,你會發現Type Paramters

單擊選項菜單上的的權利:

enter image description here

當下一個視圖中打開,直接刪除的文字:

enter image description here

點擊OK,就是這樣。