JavaFx项目出现异常后怎么解决

来源:爱站网时间:2022-01-11编辑:网友分享
不少编程新手朋友在遇到JavaFx项目出现异常后都不会解决,爱站技术频道小编为此整理了以下相关资料,有需要的朋友可以前来阅读,希望这篇文章能帮助到大家伙。

问题描述


您好,我是JavaFx的新手。我已经为JavaFx项目创建了一个Maven项目。我正在尝试加载第一个.fxml文件,但是出现上述异常。我尝试了一些事情,但是我一直在转圈。得到以下异常:java.lang.NullPointerException: Location is required.

ControllerClass

public class HomeScreenController extends Application {

    @FXML
    private Button ProjectProp;

    @FXML
    private Button Tech;

    @Override
    public void start(Stage stage) throws Exception {
        Parent root = FXMLLoader.load(getClass().getResource("homescreen.fxml"));
        Scene scene = new Scene(root);

        stage.setScene(scene);
        stage.show();
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        launch(args);
    }

}

。fxml文件

    <?xml version="1.0" encoding="UTF-8"?>

    <?import javafx.scene.control.Button?>
    <?import javafx.scene.layout.AnchorPane?>

    <AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.thales.HomeScreenController">
       <children>
          <Button fx:id="projectProp" layoutX="46.0" layoutY="38.0" mnemonicParsing="false" prefHeight="50.0" prefWidth="145.0" text="Project Properties" />
          <Button fx:id="tech" layoutX="46.0" layoutY="114.0" mnemonicParsing="false" prefHeight="50.0" prefWidth="145.0" text="Technologies" />
       </children>
    </AnchorPane>

Structure

 

思路:


您是否尝试过在包含文件结构的文件名中添加正斜杠?

Parent root = FXMLLoader.load(getClass().getResource("/com/thales/homescreen.fxml"));

我不太了解您所使用的IDE,但是我认为它会在资源中查找,但是如果您嵌套文件,则需要指定在哪里找到它。同样查看我自己的项目,我总是有一个属性文件,该文件与fxml驻留在同一文件夹中,例如,我的上一个项目是这样的

  private static final String LAYOUT_RESOURCE = "imsort.fxml";
  private static final String RESOURCE_BUNDLE = "strings";


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

  @Override
  public void start(Stage stage) throws Exception {
    ClassLoader classLoader = getClass().getClassLoader();
    ResourceBundle bundle = ResourceBundle.getBundle(RESOURCE_BUNDLE);
    FXMLLoader fxmlLoader = new FXMLLoader(classLoader.getResource(LAYOUT_RESOURCE), bundle);
    Parent root = fxmlLoader.load();
    Scene scene = new Scene(root);
    stage.setResizable(true);
    stage.setScene(scene);
    stage.sizeToScene();
    stage.show();
    setStageSize(stage, root);
}

以上就是小编给大家整理的相关内容了,不知道各位小伙伴都了解清楚了没有,对此还有疑惑的,可以来网站咨询小编。

上一篇:HTTP请求标头出错的解决问题

下一篇:程序files.length为null后崩溃怎么办

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载