在javafx中处理鼠标事件

时间:2009-10-04 23:40:34

标签: javafx mouseevent

我可以在创建像变量这样的对象时设置一个函数吗?

鉴于我有一个容器类和一个CustomButton类:

function doSomething():Void{}

var button:CustomButton = CustomButton{
   posX : 50;
   posY = 100;
   onMouseClicked: doSomething;

}

简短的故事:我需要主容器对象来处理放在容器中的对象中发生的鼠标事件。

2 个答案:

答案 0 :(得分:1)

如果我已正确理解您的要求,我认为可以通过一些语法更改来实现。显然,如果您需要自定义版本,可以扩展Button:

function doSomething():Void{
    println("clicked");
}

var button:Button = Button{
    text: "Click Me"
    translateX: 50;
    translateY: 100;
    action: doSomething
}
Stage {
    title : "ButtonTest"
    scene: Scene {
        width: 200
        height: 200
        content: [ button ]
    }
}

答案 1 :(得分:1)

最简单的改变是改变:

function doSomething():Void{}

function doSomething(e:MouseEvent):Void{}

动作属性很好,但我确定你想要一些自定义翻转效果或使用onMouseEntered等的东西。