Так что в настоящее время я работаю над проектом, в котором мне нужно запустить быстрое окно javafx внутри метода. Поскольку я не хочу, чтобы класс расширял Application, мое решение состояло в том, чтобы создать внутренний класс, который расширяет приложение, и запустить окно javafx внутри метода, создав экземпляр внутреннего класса и вызвав запуск во внутреннем классе, как показано ниже. .
public void createWindow() {
Fx window = new Fx();
window.launchWindow();
}
public static class Fx extends Application {
private void launchWindow() {
launch();
}
public void start(Stage stage) {
//javafx code
}
}
Проблема в том, что внутренний класс должен быть публичным, потому что javafx требует, чтобы класс, который запускается, был публичным, иначе он выдаст исключение. Это вызывает проблему того, что пользователи теперь имеют доступ к внутреннему классу, так как он общедоступен.
Можно ли сделать это частным или сделать какой-то другой обходной путь? Или есть другой способ сделать это?