2016-10-21 1 views
0

Lorsque j'ai créé mon GUI par Scene builder, cela fonctionnait correctement sur eclipse et j'ai enregistré . Et je rouvre eclipse alors ce message d'erreur s'affiche. Chaque fois que j'ai créé un nouveau projet et rouvre l'ordinateur eclipse/restart, il me montre ce message à chaque fois. Et quand j'ai essayé d'ouvrir mon document FXML est dit « **Exception dans la méthode de démarrage de l'application et FXML Scene Builder Erreur "L'opération a échoué.Assurez-vous que le fichier choisi est un document FXML valide"

Ouvrir l'opération a été failed.Make sûr que le fichier choisi est valide FXML document

ClLICK HERE TO SEE THE ERROR MESSAGE -This is the message that FXML Document show me when i restart my computer. It show this for every-time for every project.

S'il vous plaît Aide moi Voici le code

package application; 

public static void main(String[] args) { 
    launch(args); 
} 

@Override 
public void start(Stage primaryStage) throws Exception { 

    Parent root = FXMLLoader.load(getClass().getResource("MyDocmnt.fxml")); 
    Scene scene = new Scene(root); 
    primaryStage.setTitle("My Tittle"); 
    primaryStage.setScene(scene); 
    primaryStage.show(); 

} 

CLICK HERE TO SEE THE ERROR - this is the error it show me on running the code

+2

1. S'il vous plaît poster la trace de pile dans la question, au lieu de poster une capture d'écran de celui-ci. 2. Veuillez poster le code FXML. –

+0

vous devez probablement spécifier le paquet dans lequel le fxml est. "/application/MyDocmnt.fxml" – Nevets17

Répondre

0

Essayez ceci:

package application; 

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

    public class Main extends Application { 

       @Override 
       public void start(Stage primaryStage) { 
        try { 
         Parent root = FXMLLoader.load(getClass().getResource("/application/MyDocmnt.fxml")); 
         Scene scene = new Scene(root); 
         primaryStage.setTitle("My Title"); 
         primaryStage.setScene(scene); 
         primaryStage.show(); 
        } catch(Exception e) { 
         e.printStackTrace(); 
        } 
       } 

     public static void main(String[] args) { 
      launch(args); 
     } 

    } 
0

classe javafx.application.Application est une classe abstraite. Et la méthode start() est une méthode abstraite de la classe Application.

En Java, nous devons implémenter toutes les méthodes abstraites d'une classe abstraite lors de l'extension de cette classe abstraite. Ici, nous implémentons la méthode abstraite (méthode start()) en remplaçant la méthode start().

Alors, essayez ceci:

package application; 
import javafx.application.Application; 
import javafx.fxml.FXMLLoader; 
import javafx.scene.Parent; 
import javafx.scene.Scene; 
import javafx.stage.Stage; 

    public class Main extends Application{ 

      public static void main(String[] args) { 
       launch(args); 
      } 

      @Override 
      public void start(Stage primaryStage) throws Exception { 

       Parent root = FXMLLoader.load(getClass().getResource("MyDocmnt.fxml")); 
       Scene scene = new Scene(root); 
       primaryStage.setTitle("My Tittle"); 
       primaryStage.setScene(scene); 
       primaryStage.show(); 

      } 
    }