Моя проблема довольно проста: я хочу использовать класс с именем Type
(на самом деле org.eclipse.uml2.uml.Type
в Swing JDialog
.
Мой код (отрывок):
import org.eclipse.uml2.uml.Type;
public class MyDialog extends JDialog {
private List<Type> myTypes;
Проблема в том, что это не работает должным образом. Eclipse сообщает мне, что класс Type
, упомянутый в объявлении myTypes
, действительно Window.Type
, и мой следующий код, использующий эту переменную, не компилируется. Я вижу, что JDialog
extends Dialog
extends Window
, который содержит вложенное перечисление Type
.
Меня удивляет то, что, например, когда я хочу использовать класс Class
из пакета uml, я просто импортирую этот класс Class
и компилятор могут понять, что я хочу использовать класс в этом импорте, а не класс Class
, который он выберет без импорта (java .lang one). работать здесь, и я обязан использовать квалифицированное имя во всем моем коде.
Что еще удивляет меня, так это то, что, согласно do c, это Window.Type
перечисление было добавлено в java 7, что означает, что любой код, похожий на мой, работал бы до Я java 6 и внезапно перестал работать в java 7, так что срочное изменение ...
Я использую Java 8 и Eclipse Oxygen.
Есть что-то, что я пропустил? Вариант компилятора или что-то? Это ожидается, и я должен жить с этим?