无法在 Preloader 中将舞台设置为透明
Cannot set stage to transparent in Preloader
我正在尝试创建一个简单的启动画面。事实上,我有一个以图像为背景的堆栈窗格。我不想显示默认的 javafx 装饰。
所以我尝试了 StageStyle.TRANSPARENT 但它使整个事情变得透明。另一方面 StageStyle.UNDECORATED 显示图像,但背景为白色。这是我的启动方法中的代码。
public class SplashScreen extends Preloader {
private Stage stage;
@Override
public void start(Stage stage) throws Exception {
this.stage = stage;
StackPane root = (StackPane) FXMLLoader.load(getClass().getClassLoader().getResource("layouts/splash.fxml"));
Scene scene = new Scene(root, 690, 380,true, SceneAntialiasing.BALANCED);
scene.setFill(Color.TRANSPARENT);
stage.initStyle(StageStyle.TRANSPARENT);
stage.setScene(scene);
stage.show();
}
...
我正在使用 java 11.0.8 和 javafx 14
JavaFX 15 修复了这个问题。看来这是一个错误。
我正在尝试创建一个简单的启动画面。事实上,我有一个以图像为背景的堆栈窗格。我不想显示默认的 javafx 装饰。
所以我尝试了 StageStyle.TRANSPARENT 但它使整个事情变得透明。另一方面 StageStyle.UNDECORATED 显示图像,但背景为白色。这是我的启动方法中的代码。
public class SplashScreen extends Preloader {
private Stage stage;
@Override
public void start(Stage stage) throws Exception {
this.stage = stage;
StackPane root = (StackPane) FXMLLoader.load(getClass().getClassLoader().getResource("layouts/splash.fxml"));
Scene scene = new Scene(root, 690, 380,true, SceneAntialiasing.BALANCED);
scene.setFill(Color.TRANSPARENT);
stage.initStyle(StageStyle.TRANSPARENT);
stage.setScene(scene);
stage.show();
}
...
我正在使用 java 11.0.8 和 javafx 14
JavaFX 15 修复了这个问题。看来这是一个错误。