2016-04-23 1 views
0

Mon code compile, mais j'ai des fenêtres vides. Je pense que le chargement FXML n'est pas bon. Merci pour l'aide!Fenêtre vide JavaFX

package application; 


import javafx.application.Application; 
import javafx.fxml.FXMLLoader; 
import javafx.scene.Scene; 
import javafx.scene.layout.StackPane; 
import javafx.stage.Stage; 

public class Main extends Application { 

public static void main(String[] args) { 
     launch(args); 
    } 
@Override 
public void start(Stage primaryStage) { 

    try{ 
    StackPane stackPane = new StackPane(); 
    FXMLLoader loader = new FXMLLoader(); 
    loader.setLocation(Main.class.getResource("/StackPaneWindow.fxml")); 
    Scene scene = new Scene(stackPane); 

    primaryStage.setTitle("Hello World!"); 
    primaryStage.setScene(scene); 
    primaryStage.show(); 
} catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

}

StackPaneWindows.fxml a seul bouton. Je ne peux pas coller.

Répondre

1

Vous devez charger le fichier FXML:

FXMLLoader loader = new FXMLLoader(); 
loader.setLocation(Main.class.getResource("/StackPaneWindow.fxml")); 
Parent node = loader.load() 
StackPane stackPane = new StackPane(node); 

Et vous pouvez mettre le StackPane comme nœud racine dans votre fichier FXML, vous pouvez charger le fichier comme:

FXMLLoader loader = new FXMLLoader(); 
loader.setLocation(Main.class.getResource("/StackPaneWindow.fxml")); 
Scene scene = new Scene(loader.load); 
+0

Bro! Vous êtes génial! – Brade