我想在我的监听器中获取JComboBox实例的值:
object NoteListener extends ActionListener {
def actionPerformed(e:ActionEvent):Unit = {
println("Source: " + e.getSource.asInstanceOf[JComboBox].getValue)
}
}
我收到了这个错误:
[error] .../test.scala:30: class JComboBox takes type parameters
[error] println("Source: " + e.getSource.asInstanceOf[JComboBox].getValue)
当我尝试传递任何参数时:
[error] .../test.scala:30: ']' expected but '(' found.
[error] println("Source: " + e.getSource.asInstanceOf[JComboBox(Array)].getValue)
这是一个错误,还是我的无知?
答案 0 :(得分:3)
您的类型参数不正确:
e.getSource.asInstanceOf[JComboBox(Array)].getValue)
应该是
e.getSource.asInstanceOf[JComboBox[Array]].getValue)
注意[数组]。这是您在Scala中指定类型参数的方法。
答案 1 :(得分:0)
不确定,但这应该给你JComboBox的实例
e.getSource.peer