Ошибка добавления колонки с компонентом

Добрый день!
Изучаю JMix Studio по самоучителю, выходит ошибка при компиляции проекта. Ругается на код обработчика события в добавленной в табличную часть формы колонки с компонентом CheckBox. (Раздел 5 и 7). Конкретно на эту строчку:

Checkbox checkbox = uiComponents.create(Checkbox.class);

Всплывающая подсказка пишет:

required: Class <T>
found:    Class <Checkbox>
reason: inference variable T has incompatible bounds equality constraints: Checkbox lower bounds: Component where T is a type-variable: T extends Component declared in method T>create(Class<T>)```


Объект uiComponents в класс инжектирован.

Версия студио и фрэймворка:
Jmix version: 2.1.1
Jmix Studio plugin version: 2.1.0-232
IntelliJ version: IntelliJ IDEA 2023.2.5 (Ultimate Edition)

Добрый день,

Возможно у вас импортирован неправильный класс Checkbox, например, java.awt.Checkbox? В этом случае может возникнуть ошибка incompatible bounds equality constraints. Если использовать класс vaadin приведенный код должен компилироваться без ошибок.

import com.vaadin.flow.component.checkbox.Checkbox;
...
Checkbox checkbox = uiComponents.create(Checkbox.class);

Добрый день!

Секция Импорта класса MyOnboardingveiw содержит следующее:

import com.company.onboarding.entity.UserStep;
import com.company.onboarding.view.main.MainView;

import com.vaadin.flow.data.renderer.ComponentRenderer;
import com.vaadin.flow.data.renderer.Renderer;
import com.vaadin.flow.router.Route;
import io.jmix.core.ClassManager;
import io.jmix.core.security.CurrentAuthentication;
import io.jmix.flowui.UiComponents;
import io.jmix.flowui.model.CollectionLoader;
import io.jmix.flowui.view.*;
import org.springframework.beans.factory.annotation.Autowired;

import java.awt.*;
import java.time.LocalDate;

Упоминания класса Checkbox вообще нет…
или надо смотреть в другом месте?

Строка import java.awt.*; импортирует все классы из пакеты java.awt, в том числе java.awt.Checkbox. Нужно заменить эту строку на import com.vaadin.flow.component.checkbox.Checkbox; тогда код должен скомпилироваться.

Добавил строку импорта класса Checkbox и проблема исчезла. Спасибо за помощь! :slightly_smiling_face:

Однако вопрос: насколько я понимаю, он должен был импортироваться автоматически, но этого не произошло. в чем может быть проблема? Не правильная установка/настройка Intellij IDEA и JMix Studio?

Скорее всего вы выбрали неправильный импорт когда вставили код использования Checkbox и IDE предложила вам список вариантов.