Javafx 2 单击鼠标打开自定义弹出窗口时出现异常

Javafx 2 单击鼠标打开自定义弹出窗口时出现异常,javafx-2,Javafx 2,我有一个包名com.soarite,其中包含SOARiteController类和两个fxml文件,如soaritemain.fxml和custom_control.fxml 我在soaritemain.fxml中有一棵树。我正在尝试在鼠标上显示弹出窗口单击该树。或者只想显示两个菜单 这是我的密码 FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/com/soarite/custom_control.fxml"));

我有一个包名
com.soarite
,其中包含SOARiteController类和两个fxml文件,如soaritemain.fxml和custom_control.fxml

我在soaritemain.fxml中有一棵树。我正在尝试在鼠标上显示弹出窗口单击该树。或者只想显示两个菜单

这是我的密码

FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/com/soarite/custom_control.fxml"));
    //fxmlLoader.setRoot(this);
    fxmlLoader.setController(this);
    fxmlLoader.setLocation(null);
    try {
        fxmlLoader.load();
    }
    catch(Exception e)
    {
    }
这是我的custom_control.fxml

<AnchorPane id="AnchorPane" minHeight="119.5" prefHeight="119.5" prefWidth="188.0" styleClass="mainFxmlClass" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="com.soarite.SOARiteController">
<children>
<VBox layoutX="33.0" layoutY="35.0" prefHeight="73.0" prefWidth="100.0">
  <children>
    <Button fx:id="treeOpenTestBed" mnemonicParsing="false" onAction="#handleOpenTestBedTree" text="Open TestBed" />
    <Button fx:id="treeNewTestBed" mnemonicParsing="false" onAction="#handleNewTestBedTree" text="New TestBed" />
  </children>
</VBox>
</children>
<stylesheets>
<URL value="@main.css" />
</stylesheets>
</AnchorPane>    
我不知道该怎么做。这是我做得对还是我需要做点别的。我是JavaFx的新手

fxmlLoader.setLocation(null);
正在导致您看到的异常。位置是表示要加载的fxml文件的资源;因此,如果将其设置为null,则加载程序不知道在哪里可以找到文件。拆下这条线

这将给你另一个例外。您还可以通过线路“手动”设置控制器

fxmlLoader.setController(this);

然后,fxml文件本身在根元素中使用fx:controller属性指定一个控制器。如果已在FXMLLoader上设置了控制器,则无法在fxml中指定控制器。您可能希望删除Java代码中的setController(…)调用。

代码没有提供足够的信息来重现问题,但是
setLocation(null)
部分看起来确实可疑。尝试删除它。
fxmlLoader.setController(this);