2013-12-15 10 views
6

Ich habe ein seltsames Problem mit JavaFX (jdk8, Build 117): Sobald der Monitor aus dem Standby-Modus wieder aufgenommen wird, ist die JavaFX Bühne/Szene leer.JavaFX 8: Leere Szene nach Monitor aus Standby

Ich habe versucht, das Fenster zu minimieren/Größe zu ändern, aber der Inhalt wird nicht mehr angezeigt. Ich benutze eine einfache Szene mit einem 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(); 

Ich habe versucht, nach einem bekannten Fehler oder einem früheren Bericht zu suchen, konnte aber keine finden.

+0

Die Build-Nummer wurde korrigiert. Vielen Dank! – alibotean

+0

Wenn Ihr Programm wirklich so einfach ist, dann ist es wahrscheinlich ein Fehler, den Sie auf Jira ablegen sollten. – assylias

Antwort

2

JDK8 ist immer noch sehr in Bewegung & markiert als eine frühe Freigabe, so sollten solche Probleme erwartet werden. Ich habe es gerade auf JDK8 gebaut b121 (Win8 64bit & Ubuntu 13.10 64bit) getestet und es scheint in Ordnung zu sein.

Aktualisieren Sie Ihre JDK-Version auf die neueste &, um zu sehen, ob dies das Problem für Sie behebt.

UPDATE: Hier ist ein komplettes Standard-Beispiel, das funktioniert ohne Probleme für mich, Monitor geht in den Schlafmodus & kommt ohne irgendwelche Anzeige Probleme zurück. "Schlafmodus" ist die einzige Option, die Windows 8 mir gibt, also nicht "Standby", wie Sie es nennen. Welches Betriebssystem verwenden Sie?

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); 
    } 

} 
+0

Versuchen Sie es erneut mit dem neuesten JDK und kommen Sie mit einer Antwort zurück. – alibotean

+2

Aktualisiert, um 123 zu bauen und es erneut versucht. Die Szene ist diesmal nicht komplett leer. Die Steuerelemente werden neu gezeichnet, nur der Hintergrund ist schwarz. Eine Fenstergrößenanpassung löst das ebenfalls. – alibotean

+0

Sieht so aus, als ob noch etwas in Arbeit ist. – alibotean

Verwandte Themen