当前位置: 首页 > 知识库问答 >
问题:

在JavaFX项目中加载fxml文件时出错

闾丘山
2023-03-14
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
    try {
        AnchorPane  root = new AnchorPane();

        Scene scene = new Scene(root,400,400,Color.BLACK);
        scene.getStylesheets().add(getClass().getResource("/application/sample.fxml").getPath());
        primaryStage.setTitle("FXML Welcome");

        primaryStage.setScene(scene);
        primaryStage.show();
    } catch(Exception e) {
        e.printStackTrace();
    }
}

public static void main(String[] args) {
    launch(args);
}
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>
<?scenebuilder-background-color 0x00ffa3ff?>

<AnchorPane prefHeight="379.0" prefWidth="549.0001220703125" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2">

<children>
<Button layoutX="219.0" layoutY="156.0" mnemonicParsing="false" text="hello" />
</children>
</AnchorPane>
     WARNING: com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged Resource "/F:/eclipse_progs/examplefx/bin/application/sample.fxml" not found.

但指定的错误中的位置包含它所引用的文件。谁能解释一下这个错误的原因。是代码问题还是插件问题?

共有1个答案

锺离逸春
2023-03-14

在JavaFX中,如果希望加载fxml文件,那么使用FXMLLoader作为,

FXMLLoader.load(getClass().getResource("application/sample.fxml"));

若要加载样式表,请使用As。

scene.getStlyeShees().add(getClass().getResource("application/sample.css").toExternalForm);

在您的代码中,您在场景的样式表列表中添加了fxml文件,这是错误的。尝试使用上面所说的FXMLLoader加载您的fxml文件。

 类似资料:
  • 我一直在做一个桌面应用程序,在那里我需要使用JavaFX。我在使用Scene Builder构建的eclipse上的JavaFX项目中创建了各种FXML文件。除了这个讨厌的文件(fxmlimglist.FXML)外,我加载任何FXML文件都没有问题。 其主要思想是,当按下一个按钮时,会出现一个新窗口。下面是该按钮的事件处理程序的代码: package explorer中的项目如下所示: https

  • 因此,在我尝试编写JavaFX教程和FXML示例时。但是,每当我在.fxml文件中向GridPane中添加一些内容时,程序就会崩溃。它打开一个普通的GridPane,如果没有其他东西放在其中。 } 究竟是什么原因导致它坠毁?

  • 我正在尝试使用Maven编写一个JavaFx8应用程序。我编写了一个简单的应用程序主类和一个fxml文件(一个不执行任何操作的根fxml文件)。 当我尝试加载fxml根文件时,出现错误“Location is not set”: 我不是JavaFx8的新手,我已经遇到过这种错误,但这次我没有发现问题。 我的类是:app.java rootLayout.fxml: 我检查了打印出getClass输出

  • 我在从不同的包加载fxml文件时遇到问题。 加载FXML文件播放区的我的类。java看起来像这样: 我的fxml文件是FXMLDocument。fxml 编辑: 错误消息:

  • 我正在用JavaFX构建一个应用程序,并为布局加载FXML文件。开始时,我的所有.fxml文件都在java类路径中。 由于我正在制作一个游戏引擎,所以我决定将所有的东西都移到类路径之外,所以我现在有了一个文件系统,如下所示: 这就是我加载FXML的方式 它看起来可能并不漂亮,但它可以工作(system.getProperty(“jdir”)只是.jar在光盘上的位置)。Java查找每个文件(FXM

  • 我正在尝试创建javafx applet,使用IntelliJ idea。构建之后,我得到了三个文件:.jar、.jnlp和.html。如果我启动jar所有工作都很好,但是如果我尝试使用jnlp或html运行app,它会抛出异常: 为什么会这样?Jar正好包含所需的位于指定路径的fxml。 Java: FXML: 我做错了什么?请帮帮忙。