我对JavaFX(jdk8,build 117)有一个奇怪的问题:一旦监视器从待机状态恢复,JavaFX阶段/场景就是空白。
我尝试过最小化/调整窗口大小,但内容不再显示。我正在使用StackPane的简单场景。
root = new StackPane();
root.setBackground(null);
scene = new Scene(root, Color.BLACK);
stage.setScene(scene);
ProgressIndicator piLoader = new ProgressIndicator();
piLoader.setMaxSize(32d, 32d);
root.getChildren().add(piLoader);
stage.show();
我已尝试搜索已知错误或以前的报告,但找不到任何错误。
答案 0 :(得分:2)
JDK8仍然处于不断变化之中标记为早期访问版本,因此应该预期这样的问题。我刚刚在JDK8内置b121(Win8 64bit& Ubuntu 13.10 64bit)上进行了测试,看起来没问题。
将您的JDK版本更新为最新版本看看是否能解决问题。
更新:这是一个完整的股票标准示例,对我来说没有问题,显示器进入睡眠模式&回来没有任何显示问题。 '睡眠模式'是Windows 8给我的唯一选择,所以不是你所指的'待机'。您使用的是哪种操作系统?
package helloworld;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ProgressIndicator;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class HelloWorld extends Application {
@Override
public void start(Stage primaryStage) {
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.setBackground(null);
root.getChildren().add(btn);
ProgressIndicator piLoader = new ProgressIndicator();
piLoader.setMaxSize(32d, 32d);
root.getChildren().add(piLoader);
Scene scene = new Scene(root, 300, 250, Color.BLACK);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}