2016-04-04 1 views
-3

imageзатмение версии API JavaFX и ошибки во время выполнения

Everytime я пытаюсь работает мой код, я получаю сообщение об ошибке?

+1

1) Вопросы, требующие помощи по отладке («почему этот код не работает?») Должны включать в себя желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для воспроизведения в самом вопросе. Вопросы без четкого описания проблемы не полезны другим читателям. См. [Как создать минимальный, завершенный и проверяемый пример] (http://stackoverflow.com/help/mcve). 2) Пожалуйста, не публикуйте фотографии сообщений об ошибках - на ОЧЕНЬ, сделайте снимок экрана. Еще лучше скопировать/вставить или ввести сообщение об исключении * в вопросе *. –

ответ

1

Если вы посмотрите на FXMLLoader исходного кода вы увидите, что предупреждающее сообщение:

private void processValue() throws LoadException { 
    ... 
    // checking the version JavaFX API - print warning if not supported 
    String defaultNSURI = xmlStreamReader.getNamespaceContext().getNamespaceURI(""); 
    if (defaultNSURI != null) { 
     String nsVersion = defaultNSURI.substring(defaultNSURI.lastIndexOf("/") + 1); 
     if (compareJFXVersions(JAVAFX_VERSION, nsVersion) < 0) { 
      Logging.getJavaFXLogger().warning("Loading FXML document with JavaFX API of version " + 
          nsVersion + " by JavaFX runtime of version " + JAVAFX_VERSION); 
     } 
    } 
    ... 
} 

Как говорится в комментариях, это проверка, если текущая версия JRE JavaFX (на основе System.getProperty("javafx.version")) ниже чем версия, указанная в файле FXML.

Scene Builder 8 комплектов, что значение всякий раз, когда вы создаете новый файл в так называемом имя значения пространства FX, основанный на той же собственности:

private static final String NAME_SPACE_FX = "http://javafx.com/javafx/" + FXMLLoader.JAVAFX_VERSION; 

Если запустить свой проект в другой машине с старше версии JavaFX вы получите это предупреждение. Обратите внимание, что это всего лишь предупреждение, а не ошибка, которая рекомендует необходимую версию JavaFX.

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

xmlns="http://javafx.com/javafx/8" 
0

Попробуйте обновить Java:

  • Найти и открыть Java панель управления Where is it on windows; Where is it on Mac;
  • Найдите вкладку «Обновление» внутри панели;
  • Нажмите кнопку «Обновить сейчас»;