Обрабатывать перекрывающиеся компоненты в Java Swing - PullRequest
0 голосов
/ 27 августа 2010

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

Мы думали о том, чтобы решить эту проблему, позволив пользователям фактически переместить любой компонент на уровень ниже текущего. Но это имеет свои ограничения в отношении удобства использования, так как тогда для каждого такого случая пользователю придется перемещать больший или самый последний нарисованный компонент на слой ниже, а затем выполнять другую обработку внутренних компонентов, например, перетаскивание и т. Д. в этом приложении может быть более 2-х компонентов на одном и том же 2d (позиция x & y).

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

Ответы [ 2 ]

1 голос
/ 27 августа 2010

Я не уверен, понимаю ли я ваш вопрос. У вас есть проблемы со слушателями действий или из-за отрисовки компонентов?

Это Как использовать корневые панели может помочь.

Вы можете создать Glasspane в Java

alt text

alt text

0 голосов
/ 27 августа 2010

Вот простой пример программы для рисования объектов, которая поддерживает щелчок и перетаскивание для выбора нескольких объектов. Более продвинутые программы часто реализуют функциональность z-порядка (Move Forward, Move Backward, Move to Front, Move to Back), просто переупорядочивая список узлов.

В качестве альтернативы многослойному подходу к панели также рассмотрим JInternalFrame. Этот пример показывает Как использовать действия для управления меню, из которого могут быть выведены скрытые окна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...