Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse找不到某些声明的方法(在Vaadin库中)_Java_Eclipse_Vaadin - Fatal编程技术网

Java Eclipse找不到某些声明的方法(在Vaadin库中)

Java Eclipse找不到某些声明的方法(在Vaadin库中),java,eclipse,vaadin,Java,Eclipse,Vaadin,我遇到了一个大问题,我不知道是我的IDE出了问题,还是我做错了什么。当我尝试使用某些方法时,Eclipse找不到它们(但在添加点后列出对象的方法时,它们就在那里) 我可以给你举个例子,但还有更多(如果需要,我可以给出更多): 我想将转换器设置为组合框。有两种方法: public void setConverter(java.lang.Class<?> datamodelType) public void setConverter(Converter<T,?> conve

我遇到了一个大问题,我不知道是我的IDE出了问题,还是我做错了什么。当我尝试使用某些方法时,Eclipse找不到它们(但在添加点后列出对象的方法时,它们就在那里)

我可以给你举个例子,但还有更多(如果需要,我可以给出更多):

我想将转换器设置为组合框。有两种方法:

public void setConverter(java.lang.Class<?> datamodelType)

public void setConverter(Converter<T,?> converter)
public void setConverter(java.lang.Class datamodelType)
公共转换器(转换器转换器)
我想使用第二个,所以我这样做:

myCombobox.setConverter(new Converter<User, Integer>(){

   // Some interface methods

});
myCombobox.setConverter(新转换器(){
//一些接口方法
});
但是Eclipse将方法名称设置为红色,当我悬停时,我得到以下结果:

The method setConverter(Class<?>) in the type AbstractField<Object> is not applicable for the arguments (new Converter<User,Integer>(){})
类型AbstractField中的方法setConverter(Class)不适用于参数(new Converter(){})
就好像它不知道另一种方法的存在。 当我检查类时,方法当然存在,正如Eclipse首先列出的那样

我真的不知道为什么会发生这种事,我很感激任何线索或想法


非常感谢

组合框
扩展了
抽象字段
因此
T
for
组合框
对象

由于泛型类型参数不能被子类替换(除非指定),因此必须为该方法指定一个
转换器
,否则它与方法签名不匹配

myCombobox.setConverter(new Converter<Object, Integer>() {
    // ... cast to `User` if you like
});
myCombobox.setConverter(新转换器(){
//…如果您愿意,可以转换为'User'
});

您是否使用了正确的
转换器
界面?ie.
com.vaadin.data.util.converter.converter
谢谢你,我做到了,但我仍然无法理解我的另一个大问题:calendar.setHandler(new EventClickHandler(){@Override public void eventClick(eventClick event){//TODO Auto generated method stub});这是告诉我使用另一种方法,这次没有涉及泛型。。。我想我必须为它打开一个新的线程。谢谢