Executable Jar ограничен одним окном с JavaFX

Я создаю приложение JavaFX через E (fx) клипсе и Java Scene Builder .

Основная функциональность - это окно входа в систему. После входа в систему открывается новое окно, и окно входа в систему исчезает. Сейчас это только на этапе прототипа.

Когда вы исчерпаете себя, функциональность, которую я хочу, есть все. Окно входа появляется при запуске (код выглядит как таковой)

@Override
public void start(Stage primaryStage) {
    try {
        Parent root = FXMLLoader.load(getClass().getResource("view/login.fxml"), ResourceBundle.getBundle("ca.sportstats.resources.labels"));

        primaryStage.setTitle("SportStats Live Update Tool : Login");
        primaryStage.setScene(new Scene(root, 450, 300));
        primaryStage.show();
    } catch (IOException e) {
        //Change this to open a small popup window.
        System.out.println("Could not deploy");
    }
}

public static void main(String[] args) {
    launch(args);
}

В этом окне есть одна кнопка, которая просто открывает другую (логика входа в систему будет позже, а не проблема).

    btnLogin.setOnAction(new EventHandler() {
        public void handle(ActionEvent event) {

            //TODO: Login logic.
            //On success allow to open the tool (aka main window);

            Parent root;
            try {
                root = FXMLLoader.load(getClass().getResource("../view/selector.fxml"), resources);
                Stage stage = new Stage();
                stage.setTitle("Selector");
                stage.setScene(new Scene(root, 450, 450));
                stage.show();

                //hide this current window
                ((Node)(event.getSource())).getScene().getWindow().hide();

            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    });

Это не проблема в Ecplise. НО! Когда я создаю это (описанным способом в e (fx) учебниках для клипов , я получаю исполняемый банку, но только получить окно входа в систему. Когда я нажимаю кнопку, окно 2nd не отображается.

2
nl ja de

1 ответы

Проблема, я думаю, в том, что в баночках вы не можете делать относительные пути. Внутри Eclipse вы работаете в файловой системе, где это не проблема

4
добавлено
FXMLLoader fxmlLoader = новый FXMLLoader (WindowManager.class.getClassLoader (). getResource (& zwnj; "/" + window + ".fxml")); , где window - это Идентификатор имени для конкретного имени файла .fxml. У меня та же проблема, что и в меню входа в систему, а не в главном меню. Как вы видите, я установил путь, как вы сказали, но все тот же вопрос. Какую деталь мне не хватает?
добавлено автор xetra11, источник
Каким будет тогда базовая ссылка "? Не изменилось бы это, если бы я изменил местоположение .jar ? И опять же, эти файлы, на которые я ссылаюсь, находятся в .jar , как бы я это абсолютно хотел сказать? Возможно, мне что-то не хватает ...
добавлено автор blo0p3r, источник
Это были те знания, которые мне не хватало. Спасибо, что нашли время, чтобы все объяснить.
добавлено автор blo0p3r, источник
Это не имеет никакого отношения к вашему расположению в банке! Вы путешествуете в банке! Когда я сказал относительные пути, это не было на 100% правильным, потому что вы можете иметь относительные пути, но вы не можете иметь «..» в путях при разрешении внутри банки. Вы можете использовать абсолютную позицию внутри вашего Classloader с помощью getClass (). GetClassloader (). GetResource ("/ my/view/selector.f & zwnj; xml").
добавлено автор tomsontom, источник
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

IDE и редакторы — русскоговорящее сообщество
IDE и редакторы — русскоговорящее сообщество
393 участник(ов)

Общаемся, сравниваем и помогаем друг другу решать задачи с продуктами JetBrains, VS Code, Atom, vim, Emacs, Sublime и т.д. Всё в одном месте, ведь каждый из них хорош по своему. См. также: @js_ru, @typescript_ru, @react_js, @nodejs_ru, @javascript_jobs

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async