分配事件的更好方法?的MouseListener

时间:2013-09-24 00:28:57

标签: scala

有没有“更好”的方法呢?

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

2 个答案:

答案 0 :(得分:2)

这已内置:MouseAdapter。对于具有多个方法的其他Swing侦听器接口,有类似的类。

答案 1 :(得分:1)

以“更好”的方式,我想你的意思是“Scala方式。”

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