Справочная информация:
Я реализую визуальный редактор диаграмм, который состоит из
- различные сложные элементы (изменяемого размера, с заголовком, подэлементами) и
- различные простые элементы (без изменения размера, без заголовка, без подэлементов).
Все элементы можно перетаскивать.
Я использую JInternalFrame (для сложных элементов) вместе с JPanel
(для простых элементов) для представления элементов принципиальной схемы. Существует контейнер (JDesktopPane или JLayeredPane), который содержит
все эти элементы.
У меня есть несколько проблем с этой концепцией:
Дело 1 - Контейнер представляет собой JDesktopPane:
- JInternalFrames всегда выше других элементов.
- Нажатие на другие элементы не «деактивирует» ранее активную JInternalFrame
Дело 2 - Контейнер представляет собой JLayeredPane:
- После нажатия на некоторые элементы внутри JInternalFrame, он остается
"активирован" навсегда.
Кейс 3 - JInternalFrame используется для всего, но без оформления для простых элементов:
- Моя пользовательская граница (которая необходима, когда я удаляю вручную
Строка заголовка JInternalFrame) каждый раз заменяется текущей границей LAF, после
активация / деактивация JInternalFrame.
В любом случае, я не понимаю всей концепции, стоящей за активацией JInternalFrames.
Если бы я мог сделать JInternalFrame вообще не активируемым , я мог бы
выберите Дело 2 любой будет счастлив.
Пожалуйста, посоветуйте мне, каким было бы простое и понятное решение данных проблем.
ПРИМЕЧАНИЕ: выбор компонентов и активация JInternalFrame
кажется, разные вещи.