尝试使用JavaFX&;FXML,但程序没有';由于InvocationTargetException和NullException而无法工作
我正在尝试在eclipse中学习JavaFX,并且已经正确安装了它。因为我不想编写太多的布局代码,因为这很耗时,所以我发现有一种方法可以对GUI建模,那就是FXML。但是,当我尝试编写FXML代码时,它导致了一个错误。参考图片: 我有以下文件: Main尝试使用JavaFX&;FXML,但程序没有';由于InvocationTargetException和NullException而无法工作,java,exception,javafx,fxml,Java,Exception,Javafx,Fxml,我正在尝试在eclipse中学习JavaFX,并且已经正确安装了它。因为我不想编写太多的布局代码,因为这很耗时,所以我发现有一种方法可以对GUI建模,那就是FXML。但是,当我尝试编写FXML代码时,它导致了一个错误。参考图片: 我有以下文件: Main 包应用; 导入java.io.FileInputStream; 导入java.io.IOException; 导入javafx.application.application; 导入javafx.fxml.fxmloader; 导入javaf
包应用;
导入java.io.FileInputStream;
导入java.io.IOException;
导入javafx.application.application;
导入javafx.fxml.fxmloader;
导入javafx.scene.scene;
导入javafx.scene.layout.ancorpane;
导入javafx.stage.stage;
公共类主扩展应用程序{
公共静态void main(字符串[]args){
发射(args);
}
@凌驾
public void start(Stage)引发异常{
FXMLLoader=新的FXMLLoader();
字符串fxmlDocPath=“/fxmltest/src/main.fxml”;
FileInputStream fxmlStream=新的FileInputStream(fxmlDocPath);
锚烷根=(锚烷)加载器。加载(fxmlStream);
场景=新场景(根);
舞台场景;
阶段。设置标题(“示例”);
stage.show();
}
}
FXML
.
那么如何呈现这个fxml呢?右键单击main.fxml文件并获取相对路径。将其复制并粘贴到以下代码中
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("/relative_path_to/main.fxml"));
primaryStage.setTitle("Login");
primaryStage.setScene(new Scene(root));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
开始。尝试过了,但没有成功。前面有斜杠的“相对路径”是-a。。。绝对路径;)你有解决方案吗?请使用maven中使用的目录约定。
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("/relative_path_to/main.fxml"));
primaryStage.setTitle("Login");
primaryStage.setScene(new Scene(root));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}