Отправка SILENT-фреймов в IBM Watson для поддержания работоспособности соединения НЕ работает

У меня была такая же проблема в моем приложении JavaFX. Еще более странно: в моей среде разработки Windows все отлично работало с загрузчиком fxml. Но когда я выполнил тот же самый код на моей машине Debian, у меня были аналогичные ошибки с «location not set».

Здесь я прочитал все ответы, но ни один из них, похоже, действительно «не разрешил» проблему. Мое решение было легким, и я надеюсь, что это поможет некоторым из вас:

Возможно, Java запутается методом getClass (). Если что-то работает в разных потоках или ваш класс реализует какие-либо интерфейсы, он может прийти к выводу, что метод getClass () возвращает другой класс, чем ваш. В этом случае ваш относительный путь к creatProduct.fxml будет неправильным, потому что ваши «находятся» не в том пути, который, по вашему мнению, вы ...

Итак, чтобы быть на стороне сохранения: будьте более конкретными и попробуйте использовать статическое поле класса в своем классе ( Обратите внимание на ваш классClassHere.class ).

@FXML
public void gotoCreateProduct(ActionEvent event) throws IOException {
   Stage stage = new Stage();
    stage.setTitle("Shop Management");
    FXMLLoader myLoader = new FXMLLoader(YourClassHere.class.getResource("creatProduct.fxml"));
    Pane myPane = (Pane) myLoader.load();            
    Scene scene = new Scene(myPane);
    stage.setScene(scene);
    prevStage.close();
    setPrevStage(stage);
    stage.show();      
}

Поняв это, я ВСЕГДА сделаю это так. Надеюсь, что это поможет!

1
задан RC0993 17 January 2019 в 05:56
поделиться