javafx - 如何在JavaFX 8中使鼠标透明化?

标签 javafx window mouseevent

我知道如何使鼠标透明Node。但是我想在颜色和鼠标事件中创建透明窗口,以便光标可以通过该窗口并单击其下方的应用程序。

这是一个最小的代码:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.stage.StageStyle;

public class MouseTransparentWindow extends Application {

    @Override
    public void start(Stage primaryStage) {

        StackPane stackPane = new StackPane();
        stackPane.setStyle("-fx-background-color: rgba(192,192,192,0.2);" +
                "-fx-border-width: 1px;-fx-border-color: #1d1d1d");
        stackPane.setMouseTransparent(true);

        Scene scene = new Scene(stackPane, 400, 250, Color.TRANSPARENT);
        scene.setFill(null);
        primaryStage.setScene(scene);
        primaryStage.initStyle(StageStyle.TRANSPARENT);
        primaryStage.show();
    }
}

看来它可以在Windows上运行,但是我需要我的代码在所有操作系统上都可以运行。

最佳答案

我将使用Scene.initStyle(StageStyle.TRANSPARENT);代替Scene.initStyle(StageStyle.UNDECORATED),因为舞台现在没有任何类似TRANSPARENT的东西,但实际上没有任何东西。当您将其设置为TRANSPARENT时,表示它在那里,但您只能看不到它。另外,我从未在任何操作系统上遇到任何问题。

关于javafx - 如何在JavaFX 8中使鼠标透明化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55747661/

相关文章:

css - 在 JavaFX 中为 TextFieldTableCell 创建有效性检查

javascript - 覆盖 window.alert 并传递多个参数

python - 如何将 matplotlib (python) 窗口保留在后台?

c - 在 GTK+3 中,我如何获得绘图区域来响应鼠标事件?

javascript - 删除鼠标移开时的 Mapbox 折线

java - FXML ListView,我无法将 ObservableArrayList<Pane> 添加到其中

JavaFX TableView 编辑整数单元格

java - 如何直接消除文本字段JavaFx中的字符以使用户无法输入字符?

java - 如何检测新窗口何时打开和/或获取打开的窗口列表?

javascript - 鼠标悬停在子元素上,而不是父元素上