У меня есть приложение Swing, и я должен интегрировать в него новые файлы javafx FXML. Я использую JFXPanel, чтобы открыть форму FXML. Кнопка выхода создается в форме FXML. Мой класс контроллера реализует событие этой кнопки. Но как мне закрыть Jframe из моего приложения Swing?
Мой класс контроллера JavaFX (метод)
@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));