应用程序启动时,Javafx删除快速白屏

时间:2014-08-22 14:09:01

标签: javafx javafx-2

使用javafx 7 update 60。 操作系统:Windows 7。

我刚从那里采取了helloworld http://docs.oracle.com/javafx/2/get_started/hello_world.htm

并将根窗格的背景更改为红色。

package sample;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class HelloWorld extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Hello World!");
        Button btn = new Button();
        btn.setText("Say 'Hello World'");
        btn.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                System.out.println("Hello World!");
            }
        });

        StackPane root = new StackPane();
        root.setStyle("-fx-background-color: #ff0000;");
        root.getChildren().add(btn);
        primaryStage.setScene(new Scene(root, 300, 250));
        primaryStage.show();
    }
}

当窗口出现时,我可以看到它的背景为白色,过了一会儿就变成了红色。如何删除此白屏?

2 个答案:

答案 0 :(得分:2)

好的,你所看到的是实际的舞台背景。 primaryStage拥有它自己的白色背景,你可以在加载场景之前看到它。除非你将舞台的背景设置为透明,但这也使整个舞台透明,包括退出按钮,所以你必须有办法让用户退出你的程序。 / p>

答案 1 :(得分:0)

您首先创建的Stage具有纯白色背景,如here所述。您无法更改StageStyle的{​​{1}}。 在节点加载时隐藏此背景的简单方法是将Stage的不透明度更改为0,然后在显示Stage后将其还原为1。

Stage