java - 如何在鼠标拖动时在舞台上设置事件?

标签 java javafx stage

我想在拖动舞台时触发一个事件。我发现了很多关于未装饰舞台拖动的示例,这些示例在 Pane 上设置了事件(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);

关于java - 如何在鼠标拖动时在舞台上设置事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23266942/

相关文章:

java - 如何在 JavaFx 中创建打开另一个窗口的按钮,无需 GUI 构建器、FXML、swing 或 awt?

java - 从 Java 树创建 html 嵌套列表

java - 如何使用带有 Gson 的 retrofit2 将空字符串视为 null

JavaFX 动态 Pane 的约束问题

java - 使用 JFXPanel 为 native 应用程序构建 Facebook OAuth 登录流程

java - 如何在 Stage.show() 之后运行函数?

java - 是否可以有一个带装饰的透明 JavaFX 窗口(最小化、最大化、关闭)

java - 添加子选择条件?

java - JPQL 不区分大小写

java - 在 JavaFX TextArea 中突出显示字符串