当我通过场景构建器制作我的GUI时,它在eclipse上正常工作,我保存了这个。然后我重新打开eclipse然后这个错误显示。每当我创建一个新项目并重新打开eclipse / restart计算机时,它每次都会向我显示此消息。当我试图打开我的FXML文件时说“**
打开操作失败。确保选择的文件是有效的FXML文档
请帮帮我这是代码
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();
}
试试这个:
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);
}
}
javafx.application.Application类是一个抽象类。而start()方法是Application类的抽象方法。
在Java中,我们必须在扩展抽象类时实现抽象类的所有抽象方法。这里,我们通过重写start()方法来实现抽象方法(start()方法)。
所以,试试这个:
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();
}
}