2015-04-28 4 views
5

Я пытаюсь создать свой первый проект FXML Java и на этапе инициализации я пытаюсь установить значение ячейки завода для таблицы columnt, напримерлямбда-выражения не поддерживаются на этом уровне языка IDEA

 @FXML 
     private void initialize() { 
     agentId.setCellValueFactory(cellData -> cellData.getValue().getIdProperty()); 
     .....} 

, и это подчеркнуто красным цветом и дает ошибку, указанную в заголовке. Изменение уровня языка в структуре проекта не дает эффекта. Что еще может быть причиной ошибки?

UPD: Я обнаружил, что необходимо установить java с lambdas, который не включен в официальный релиз. Я сделал это, и все же это не помогло. Я скачал его here

+1

Предполагаю, что вы устанавливаете уровень языка 1,8? –

+0

@James_D не написано, что это 1,8, но 8 –

+0

Вы пробовали использовать Android N sdk с компилятором Jack? –

ответ

9

ответ следующий: мне пришлось изменить языковой уровень не только в структуре project-> project, но и в структуре project-> modules.

+1

У меня тоже была проблема. Но это не просто ламды - все это языковые изменения более высокого уровня. Я установил свои модули для использования проекта по умолчанию, который отходит на верхний уровень. –

16

Мне пришлось сделать несколько вещей, чтобы избавиться от этой проблемы.

  1. Файл> Структура проекта> Проект> SDK проекта: Измените его на Java 1.8.XX
  2. Файл> Структура проекта> Проект> Язык Уровень: SDK 8 (в моем случае SDK по умолчанию уже 8)
  3. Файл> Структура проекта> Модули> Источники> SDK 8 (в моем случае SDK по умолчанию уже 8)
  4. Файл> Настройки> Сборка, выполнение, развертывание> Compiler> Java Compiler> Project байткодом версия> 1,8
  5. Файл> Настройки> Сборка, выполнение, развертывание> Компилятор> Компилятор Java> Версия для байт-кода Per-module> T версия для бара-бара] 1.8

Это должно сделать трюк.

+1

Awesome, спасибо! Работал как очарование на Intellij! –

1

Если вы прошли через вышеуказанное и все еще не исправили его, и если вы настраиваете новый модуль, проверьте, что исходная папка вашего модуля не была добавлена ​​в родительский модуль. Я обнаружил, что он был скомпилирован в 1.5, поскольку это был параметр родительского модуля (поскольку родительский элемент не содержал источник java). Обновление того, что в 1.8 тоже окончательно избавилось от предупреждения и удалило исходную папку модуля из родительского модуля. Файл> Структура проекта> Модули (родительский модуль)> Источники> Уровень языка