Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果按了btnYes,我需要返回_Java_Javafx - Fatal编程技术网

Java 如果按了btnYes,我需要返回

Java 如果按了btnYes,我需要返回,java,javafx,Java,Javafx,您可以轻松地将操作事件设置为按钮,如下所示: public class WorkPeriodController extends Stage implements Initializable{ @FXML private void handlebtnStartPeriod() throws InterruptedException{ StartPeriodMessage spm = new StartPeriodMessage(); spm.init

您可以轻松地将操作事件设置为按钮,如下所示:

public class WorkPeriodController extends Stage implements Initializable{

    @FXML
    private void handlebtnStartPeriod() throws InterruptedException{
       StartPeriodMessage spm = new StartPeriodMessage();
       spm.initOwner(this);
       spm.initModality(Modality.APPLICATION_MODAL);
       spm.show();

       if (spm.isBtnYesStatus()) // always false {

            btnStartPeriod.setDisable(true);

            // do some actions
       }
    }
你不需要去做初始化,FXMLLoader会帮你做的

  @FXML
    private void btnYes(ActionEvent event) {
    // your action here..
    System.out.println(Button is pressed..);
  }

你不必到处写@FXML!仅当从fxml文件引用方法/变量时

如果您从FXML文件中引用一个变量,如btnYes,它将在那里初始化,而不是在类中初始化。 在哪里加载fxml文件?如果以下内容(我刚刚清理过)不起作用,请同时提供您的fxml文件和调用isBtnYesStatus()的代码


该应用程序由许多阶段组成,这是一个弹出消息阶段,用于检查用户是否单击“是”,它将在另一个阶段执行一些操作,因此我需要返回是否按下“是”按钮。如果您不理解我的意思,我可以通过team viewer共享屏幕。谢谢谢谢@FXML让我很困惑,现在我知道什么时候写它了。但它不起作用,我会附上FXML和代码。请编辑你的问题,而不是张贴这个链接。因此,您正在创建一个新的
StartPeriodMessage
,并对其调用.show()。然后立即调用l isBtnYesStatus()。由于btnYesStatus的默认错误初始化,它将始终返回false。然后你可以点击你的按钮,布尔值就改变了。这不能正常工作,但这并不是一个真正的错误,因为它在你编码的时候是wokring。对于这个用例,您应该实现一个回调!
  @FXML
    private void btnYes(ActionEvent event) {
    // your action here..
    System.out.println(Button is pressed..);
  }
@FXML
private Button btnYes = new Button();
@FXML
private  Button btnYes;
private boolean btnYesStatus = false;

@FXML
private void handelYesBtn(){
    this.setBtnYesStatus(true);
    this.close();
}

public void setBtnYesStatus(boolean btnYesStatus) {
    this.btnYesStatus = btnYesStatus;
    System.out.println(btnYesStatus);
} 

public boolean isBtnYesStatus() {
    return btnYesStatus;   
}