有没有"更好"的方法可以做到这一点?
import java.awt.event.MouseEvent
trait MouseListener extends java.awt.event.MouseListener{
def mouseClicked(e:MouseEvent){}
def mousePressed(e:MouseEvent){}
def mouseReleased(e:MouseEvent){}
def mouseEntered(e:MouseEvent){}
def mouseExited(e:MouseEvent){}
}
我创造了这个特征,所以我可以在不覆盖我不使用的方法的情况下做到这一点。这工作正常,我只是想知道是否有替代方法?
new ActionListener{
override def mouseClicked(e:MouseEvent){
//Blah Blah
}
}
这已经是内置的:鼠标适配器。对于具有多个方法的其他 Swing 侦听器接口,也有类似的类。
"更好"的方式,我想你的意思是"Scala way"。
On a scala.swing.UIElement:
listenTo(mouse.clicks, mouse.moves, mouse.wheel, keys)
reactions += {
case e: MousePressed => startDrag(e)
case e: MouseDragged => doDrag(e)
case e: MouseReleased => endDrag(e)
case e: MouseWheelMoved => wheeling(e)
case _ => null // println ("Unreacted event")
}