JavaFX按钮不工作
我开始写一个简单的音乐播放器,但当我测试它时,我发现按钮不起作用。我用一个简单的System.out.println(“Got to button”);,替换了按钮事件处理程序中的代码;,但它没有写入控制台 按钮的fxID为playButton。 @fxml声明是: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();
@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");
}