1

これを行う「より良い」方法はありますか?

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

2 に答える 2

1

「より良い」とは、「Scala の方法」を意味していると思います。

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")
  }
于 2013-09-24T06:30:01.623 に答える