JavaFX не останавливает приложение методом stop () - PullRequest
0 голосов
/ 26 ноября 2018

Я следую абстрактному классу с методами init() и stop(): (проблема в методе stop())

public abstract class AbstractJavaFxApplication extends Application {

    private static String[] fxArgs;

    protected ConfigurableApplicationContext applicationContext;

    @Override
    public void init() throws Exception {
        applicationContext = SpringApplication.run(getClass(), fxArgs);
        applicationContext.getAutowireCapableBeanFactory().autowireBean(this);
    }

    @Override
    public void stop() throws Exception {
        System.out.println("STOP");
        applicationContext.stop();
        super.stop();
    }

    protected static void launchApp(Class<? extends AbstractJavaFxApplication> clazz, String[] args){
        fxArgs = args;
        Application.launch(clazz, args);
    }
}

И основной класс, который расширяет AbstractJavaFxApplication:

@SpringBootApplication
public class WeightliftingviewerApplication extends AbstractJavaFxApplication{

    @Value("First attempt")
    private String tittle;

    @Qualifier("mainView")
    @Autowired
    private ControllersConfiguration.ViewHolder view;

    public static void main(String[] args) {
        launchApp(WeightliftingviewerApplication.class, args);
//      SpringApplication.run(WeightliftingviewerApplication.class, args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        primaryStage.setTitle(tittle);
        primaryStage.setScene(new Scene(view.getView()));
        primaryStage.setResizable(true);
        primaryStage.centerOnScreen();
        primaryStage.show();
    }
}

Проблема в том, что, когда я закрываю приложение, я ожидаем, что попаду в метод stop() и получу STOP в консоли.Но приложение не остановлено и еще не запущено

1 Ответ

0 голосов
/ 26 ноября 2018

Попробуйте это в вашем методе остановки:

@Override
public void stop() throws Exception {
    System.out.println("STOP");
    Platform.exit();
    System.exit(0);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...