如何在JavaFX中向公共类控制器内的另一个按钮添加功能?

如何在JavaFX中向公共类控制器内的另一个按钮添加功能?,java,javafx,Java,Javafx,我有一个主屏幕,一个按钮打开另一个窗口。然而,我不知道如何使按钮关闭第二个窗口。我得到的错误是因为我试图处理同一类中的两个按钮(handleButtonClick)。有人可以帮助我如何声明和添加第二个按钮的功能?soncend按钮调用closePopUp public class Controller { public Button signupB; public Label label1; public Button closePopUp; public

我有一个主屏幕,一个按钮打开另一个窗口。然而,我不知道如何使按钮关闭第二个窗口。我得到的错误是因为我试图处理同一类中的两个按钮(handleButtonClick)。有人可以帮助我如何声明和添加第二个按钮的功能?soncend按钮调用closePopUp

public class Controller {

    public Button signupB;
    public Label label1;
    public Button closePopUp;


    public void handleButtonClick() {

        System.out.println("Test one");
        label1.setText("This option is not available in the beta version");
        label1.setOpacity(1);

        try {
            FXMLLoader fxmlLoader = new FXMLLoader();
            fxmlLoader.setLocation(getClass().getResource("sceneNotAvailable.fxml"));

            Scene scene = new Scene(fxmlLoader.load(), 630, 400);
            Stage stage = new Stage();
            stage.setTitle("New Window");
            stage.setScene(scene);
            stage.show();
        } catch (IOException e) {
            Logger logger = Logger.getLogger(getClass().getName());
            logger.log(Level.SEVERE, "Failed to create new Window.", e);
        }

    }
}

嗨,伙计们,我找到了解决这种情况的办法。我对JavaFX非常陌生,但我所做的是为每个按钮声明两个不同的类。我不确定这是否是正确的方法,但它是有效的

public void handleButtonClick() {
    label1.setText("This option is not available in the beta version");
    label1.setOpacity(1);

    try {
        FXMLLoader fxmlLoader = new FXMLLoader();
        fxmlLoader.setLocation(getClass().getResource("sceneNotAvailable.fxml"));

        Scene scene = new Scene(fxmlLoader.load(), 630, 400);
        Stage stage = new Stage();
        stage.setTitle("New Window");
        stage.setScene(scene);
        stage.show();
    } catch (IOException e) {
        Logger logger = Logger.getLogger(getClass().getName());
        logger.log(Level.SEVERE, "Failed to create new Window.", e);
    }
}

public void Button1Action(ActionEvent actionEvent) {
    Stage stage = (Stage) closePopUp.getScene().getWindow();
    stage.close();
}

看起来您需要某种类型的
if语句
和类似于
stage.isShowing()
。java命名约定,请注意,您是100%正确的!这就是我现在要做的。我还在学习。谢谢你的提示。