JavaFX按钮不工作

JavaFX按钮不工作,java,button,javafx,Java,Button,Javafx,我开始写一个简单的音乐播放器,但当我测试它时,我发现按钮不起作用。我用一个简单的System.out.println(“Got to button”);,替换了按钮事件处理程序中的代码;,但它没有写入控制台 按钮的fxID为playButton。 @fxml声明是: @FXML private Button playButton; 初始化: @FXML public void initialize() { this.bindGuiComponentsToViewModel();

我开始写一个简单的音乐播放器,但当我测试它时,我发现按钮不起作用。我用一个简单的System.out.println(“Got to button”);,替换了按钮事件处理程序中的代码;,但它没有写入控制台

按钮的fxID为playButton。 @fxml声明是:

@FXML
 private Button playButton;
初始化:

 @FXML
 public void initialize() {
    this.bindGuiComponentsToViewModel();
    this.setEventActions();
 }
SetEventActions:

private void setEventActions() {
    this.playButton.setOnAction(event -> this.handlePlayAction());
}
处理程序:

private void handlePlayAction() {
    System.out.println("got to play");
}
在过去的一个小时里,我一直无法通过谷歌找到任何东西,我试着制作playButton.setDisable(false);,到目前为止,一切都不起作用


非常感谢您的帮助

为什么不测试常规方法(使用匿名类的实现)如果它有效,那么按钮将被绑定

yourButton.setOnAction(new EventHandler<ActionEvent>() {
@Override public void handle(ActionEvent e) {
     System.out.println("got to play");
}
});

你发布的代码没有明显的错误。是否调用了
initialize()
setEventActions()
方法?创建并编辑问题以包含它可能会有所帮助。@James\u D我认为initialize()方法可能没有被调用。应该从构造函数中调用它吗?应该由FXMLLoader为您调用。我对java相当陌生,我不完全理解您给出的第一个测试。至于第二个,我将syso直接移动到setOnAction(this.playButton.setOnAction(event->System.out.println(“Got to event Action”);它仍然不起作用。我建议使用我给你的代码,而不是你写的,对这些函数进行注释;handlePlayAction和SetEventActionsHanks,但它不起作用。事实上,我担心GuiCodeBehind根本没有被调用。你必须给我们更多信息,在哪里调用这些函数fxml文件在我的主应用程序中,那么上面所有的代码都在我的GuiCodeBehind文件中,这个按钮被称为像
@fxml private button playButton;
private void handlePlayAction() {
  x  System.out.println("got to play");
}