2014-01-20 86 views
0

解決我「M就吃與解決枚舉的一個問題。枚舉也不會在Java

我查了以前的答案就像why enum could not be resolved in JAVA?

和我沒有答案,但我仍然得到錯誤。還遵循另一個解決方案來更改編譯器合規性級別。但在我的情況下,它最初的設置1.6

應該怎樣改變了這裏?

代碼:

CellTypes.java

public enum CellTypes { 
    STRING,LIST,PATH 
} 

在其中重寫

降序canModify的事件:

/** * @see org.eclipse.jface .viewers.ICellModifier#canModify(java.lang.Object中, * java.lang.String中) */

只是打電話setEditor方法和setEditor是如下

public void setEditor(int editorIndex, List<Object> choices, CellTypes UIType) { 
    try { 
    if (choices != null) { 
     String[] choicesArray = new String[choices.size()]; 
     for (int i = 0; i < choices.size(); i++) { 
      choicesArray[i] = choices.get(i).toString(); 

    } 
    editors[editorIndex] = new ComboBoxCellEditor(table, choicesArray, SWT.READ_ONLY); 
    editors[editorIndex].getControl().addTraverseListener(traverseListener); 
    columnEditorTypes[editorIndex] = EditorTypes.COMBO; 

    } else if(UIType == CellTypes.PATH) {  // it gives "cannot resolve type " here 
    editors[editorIndex] = standardEditors.get(EditorTypes.PATH); 
    columnEditorTypes[editorIndex] = EditorTypes.PATH; 
    } 
    else 
    { 
    editors[editorIndex] = standardEditors.get(EditorTypes.STRING); 
    columnEditorTypes[editorIndex] = EditorTypes.STRING; 
    }} 
    catch(Exception e) 
    { 
    e.printStackTrace(); 
    } 

}

導致的錯誤無法解決CellTypes鍵入 其中CT是公認的枚舉,其類型爲STRING

+2

你的代碼在哪裏? –

+3

請提供一些代碼和您收到的錯誤消息。 –

+0

好的。給我1分鐘:D - 從上一個答案我認爲這是一個已知的日食問題 – becks

回答

1

變化

if (ct = CellTypes.STRING) 

if (ct == CellTypes.STRING) 

要分配異。比較。

+1

對不起,這是一個錯誤。 代碼中已經是== ..只是在這裏輸入錯誤 – becks

1

如果我理解正確的話,你是枚舉值的String姓名與枚舉值。試試這個:

if (CellTypes.valueOf(ct) == CellTypes.STRING) 
+0

valueOf(String) - 只接受字符串 。 CT這裏是枚舉不是字符串 – becks

+0

安置自己的全部代碼。 – everton