使用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();
}
}
当窗口出现时,我可以看到它的背景为白色,过了一会儿就变成了红色。如何删除此白屏?
答案 0 :(得分:2)
好的,你所看到的是实际的舞台背景。 primaryStage拥有它自己的白色背景,你可以在加载场景之前看到它。除非你将舞台的背景设置为透明,但这也使整个舞台透明,包括退出按钮,所以你必须有办法让用户退出你的程序。 / p>
答案 1 :(得分:0)
您首先创建的Stage
具有纯白色背景,如here所述。您无法更改StageStyle
的{{1}}。
在节点加载时隐藏此背景的简单方法是将Stage
的不透明度更改为0,然后在显示Stage
后将其还原为1。
Stage