类JComboBox采用类型参数

时间:2011-09-07 09:55:52

标签: swing scala parameters casting jcombobox

我想在我的监听器中获取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)

这是一个错误,还是我的无知?

2 个答案:

答案 0 :(得分:3)

您的类型参数不正确:

e.getSource.asInstanceOf[JComboBox(Array)].getValue)

应该是

e.getSource.asInstanceOf[JComboBox[Array]].getValue)

注意[数组]。这是您在Scala中指定类型参数的方法。

答案 1 :(得分:0)

不确定,但这应该给你JComboBox的实例

e.getSource.peer