为什么Scala不会认识到我正在扩展ListModel <e>?</e>

时间:2013-11-26 16:45:47

标签: swing scala generics

我正在写自己的javax.swing.ListModel<E>

class Category(...)
class CategoryListModel extends javax.swing.ListModel[Category] {
    // not shown: ListModel[Category] interface methods implemented here
    ...
}

但是,当我尝试使用:

设置列表模型时
val myList: JList = ...
myList.setModel(new CategoryListModel)

编译器给出了这个错误:

type mismatch;
 found   : CategoryListModel
 required: javax.swing.ListModel[?0] where type ?0
     myList.setModel(new CategoryListModel)

我以为CategoryListModel确实实现了ListModel[Category] ???我最近通过练习来学习Scala,但我不知道如何插入这个错误。

1 个答案:

答案 0 :(得分:0)

好的,所以错误源于我的JList没有指定类型参数(它是由GUI构建器生成的)。我将声明改为:

JList<Category> // this particular file is a Java file

现在一切正常。