2012-12-04 58 views
0

我呼籲層的接口:功能的接口參數

public interface Layer {} 

和類實現該接口稱爲VectorLayer

public class VectorLayer implements Layer {} 

我也有一個功能,有Layer作爲參數我想用create(new VectorLayer())但日食向我拋出以下錯誤:

The method create(Layer) in the type SelectFeature is not applicable for the arguments (VectorLayer) VolexampleApplication.java /volExample/src/com/example/volexample

我認爲這通常應該工作。那麼這裏有什麼問題?

PS:
VectorLayerLayerSelectFeature.create()是從包裝的OpenLayers(庫),用於VAADIN函數和類。

+2

爲什麼在類的名字中有括號,比如'interface Layer()'和'Vector VectorLayer()'? – bellum

+0

@bellum對不起,輸入錯誤。我剛醒來:-p – user1843518

回答

3

你給應正常工作的例子。

您確定VectorLayer實施的LayerSelectFeature要求的Layer相同。您可以通過檢查兩個類中的導入來驗證這一點(或者提供完整名稱,即包名)。

+0

在閱讀您的評論之前,我已經找到了解決方案。是的,你的回答是正確的。我發現我有2層,每層都有不同的包裝。 – user1843518

+1

漂亮的catch => +1 :) – 2012-12-04 09:42:57

1

我會盡力幫助編譯:

final Layer layer = new VectorLayer(); 
SelectFeature.create(layer); 
+0

我試過了,但沒有奏效。但是,由於這個嘗試,我發現它不是同一層。 我有2層,每層都在不同的包中。 – user1843518