分配事件的更好方法?鼠标侦听器



有没有"更好"的方法可以做到这一点?

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")
  }

最新更新