【发布时间】:2014-06-09 14:56:52
【问题描述】:
我想在拖动舞台时触发一个事件。我发现了很多关于未装饰舞台拖动的示例,这些示例在窗格上设置了事件(MouseEvent)但不在舞台上。有什么办法可以解决这个问题吗?
【问题讨论】:
我想在拖动舞台时触发一个事件。我发现了很多关于未装饰舞台拖动的示例,这些示例在窗格上设置了事件(MouseEvent)但不在舞台上。有什么办法可以解决这个问题吗?
【问题讨论】:
仅观察舞台的 x 和 y 属性是否有效?
即:
final Stage stage ;
// ...
ChangeListener<Number> stageMoveListener = new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> ov, Number oldValue, Number new Value) {
System.out.println("Stage moved to "+stage.getX()+", "+stage.getY());
}
});
stage.xProperty().addListener(stageMoveListener);
stage.yProperty().addListener(stageMoveListener);
【讨论】: