透明阶段,不允许鼠标单击

时间:2019-01-21 16:20:32

标签: javafx

我正在尝试在JavaFX中编写一个透明阶段。 (这正在工作)。但是我不希望鼠标单击通过。有趣的是,我的代码在Windows上有效,但在Linux上却无效。我的问题是为什么我会观察到这种差异(尽管javafx beeing被设计为多平台库)以及如何修复代码以使其在Linux和Windows上均可工作。

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
import javafx.scene.paint.Color;
import javafx.application.Platform;

public class Main extends Application {
    final Text text1 = new Text(10, 40, "Hello World!");
    text1.setFont(new Font(40));
    final Group g = new Group(text1);
    final Scene scene = new Scene(g);

    final Color c = new Color(0.0, 0.0, 0.0, 1.0 / 250);
    stage.initStyle(StageStyle.TRANSPARENT);
    scene.setFill(c);
    stage.setScene(scene); 
    stage.sizeToScene(); 
    stage.show(); 
}

请注意:如果将final Color c = new Color(0.0, 0.0, 0.0, 1.0 / 250);设置为final Color c = new Color(0.0, 0.0, 0.0, 0.0);,则单击也会在Windows上进行。但是,只要这种不透明性不明显,我就可以忍受这种小的不透明性。

0 个答案:

没有答案