如何从我的FXML控制器类关闭Jframe?

时间:2019-07-08 11:45:52

标签: java swing javafx jfxpanel

我有一个swing应用程序,必须将新的javafx FXML文件集成到其中。我使用JFXPanel打开我的FXML表单。退出按钮在FXML表单上创建。我的控制器类实现了该按钮的事件。但是,如何从我的swing应用程序关闭Jframe?

我的JavaFX Controller类(方法)

    @FXML
    private void doExit(ActionEvent event) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                Stage stage = (Stage) btnExit.getScene().getWindow();
                stage.close();
            }
        });
    }

Swing应用程序开始加载我的JFXPanel

JFrame frame = new JFrame("");
                frame.setLayout(new BorderLayout());
                final JFXPanel jfxPanel = new JFXPanel();
                frame.add(jfxPanel, BorderLayout.CENTER);
                frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
                frame.setVisible(true);
                SwingUtilities.invokeLater(() -> initPrijsMutatieFX(jfxPanel));

0 个答案:

没有答案