JavaFX控制器未链接到JavaFXML文件

JavaFX控制器未链接到JavaFXML文件,java,javafx,Java,Javafx,我正在尝试在主屏幕控制器中创建一个方法,以便在程序中设置新场景。尝试执行此操作时,出现以下错误: 解析onAction='#partAddButtonPushed'时出错,事件处理程序不在命名空间中,或者脚本中存在错误 相关的fxml代码为: <AnchorPane id="AnchorPane" prefHeight="420.0" prefWidth="1000.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://j

我正在尝试在主屏幕控制器中创建一个方法,以便在程序中设置新场景。尝试执行此操作时,出现以下错误:

解析onAction='#partAddButtonPushed'时出错,事件处理程序不在命名空间中,或者脚本中存在错误

相关的fxml代码为:

<AnchorPane id="AnchorPane" prefHeight="420.0" prefWidth="1000.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="john.Doe.View_Controller.MainController">
   <children>
        <Button id="addPartsButton" fx:id="partAdd" layoutX="190.0" layoutY="340.0" maxWidth="70.0" minWidth="70.0" mnemonicParsing="false" onAction="#partAddButtonPushed" prefWidth="70.0" text="Add">

有人知道他们为什么不连接吗?

静态
load
方法不起作用。尝试创建一个新的FXMLLoader并使用它来加载。感谢您的回复,但是我认为处理onclick鼠标事件的代码没有问题。问题是fxml文件中的按钮没有正确链接到按钮处理程序,我不知道为什么。然后我觉得它是正确的。不用检查,我猜是
抛出IOException
。如果无法在方法中处理,请尝试捕获并作为运行时异常重新抛出。检查导入。确保您导入了
javafx.event.ActionEvent
,而不是,例如,
java.awt.event.ActionEvent
@Slaw,这正是关闭的。非常感谢你!
public class MainController implements Initializable {

@FXML    
    private Button partAdd;

    @FXML
    private void partAddButtonPushed(ActionEvent event) throws IOException {
        Parent partAddParent = FXMLLoader.load(getClass().getResource("/View/AddPart.fxml"));
        Scene AddPartScene = new Scene (partAddParent);

        Stage window = (Stage)((Node)event.getSource()).getScene().getWindow();
        window.setScene(AddPartScene);
        window.show();
    }