Reputation: 3179
I'm using addChangeListener
from the Java Swing API in my Scala program. The compiler of ScalaFiddle indicates an error in the following code :
spinner_1.addChangeListener(e => {
...
})
error: missing parameter type spinner_1.addChangeListener(e => {
I tried to write e : ChangeListener
, but it didn't solve this problem. I didn't find something useful for that in Scala's documentation.
How could I deal with it ?
Upvotes: 0
Views: 131
Reputation: 1572
It works in Scala 2.12. But if you have to use older version like 2.11, you can use implicit conversion. Here is an example:
import javax.swing.JTabbedPane
import javax.swing.event.{ChangeEvent, ChangeListener}
implicit def convertToChangeListener(f: ChangeEvent => Unit): ChangeListener =
new ChangeListener {
override def stateChanged(e: ChangeEvent): Unit = f.apply(e)
}
val listener: ChangeListener = (e: ChangeEvent) => ...
new JTabbedPane().addChangeListener(listener)
Upvotes: 3