Проверка иерархии компонентов в пользовательском интерфейсе Java - PullRequest
3 голосов
/ 07 января 2011

У нас есть очень большое настольное приложение на Java Swing, содержащее множество представлений.За эти годы разработчики проделали довольно хорошую работу по выбору подходящих мест для классов, которые отражают общую структуру нашего пользовательского интерфейса для этих представлений.Большую часть этого времени это очень полезно для отслеживания конкретных компонентов, в которых есть ошибки, которые необходимо устранить.Однако есть случаи, когда поиск панели, диалога и т. Д. Довольно болезненный.Обычно это включает поиск в наших файлах свойств уникальных последовательностей строк, которые появляются в пользовательском интерфейсе.

Кто-нибудь знает о стороннем инструменте, который позволяет разработчику подключиться к приложению Swing и щелкнуть область пользовательского интерфейса?раскрыть имя / пакет / иерархию компонента, на который был выполнен щелчок?

Ответы [ 4 ]

4 голосов
/ 07 января 2011

SwingExplorer - идеальный инструмент для этого. Он делает то, что вы описываете, и даже больше (пошаговое рисование Java2D, нарушения EDT, события AWT).

Примечание: проект перемещается на java.net .

3 голосов
/ 07 января 2011

Кто-нибудь знает о стороннем инструменте, который позволяет разработчику подключиться к Swing-приложению и щелкнуть по области пользовательского интерфейса, чтобы раскрыть это имя / пакет / иерархию компонента, по которому щелкнули

Модель дерева компонентов Darryl должна предоставить вам эту основную информацию. Демонстрация показывает, как использовать корневую панель в качестве контейнера для просмотра всех компонентов. Вам нужно добавить MouseListener в ваше приложение, чтобы получить Контейнер, по которому щелкнули, чтобы вы могли отобразить дерево компонентов.

1 голос
/ 07 января 2011

Что-то делает именно то, что вы ищете в SwingX Demo. Демонстрация JXTreeTable содержит дерево иерархии компонентов, когда при наведении курсора мыши на определенный компонент он выбирается в таблице.

Вы можете посмотреть здесь

0 голосов
/ 06 марта 2016

Сам не мог поверить, но это может быть действительно так просто, как:

SwingUtilities.getRoot(...).list()

Метод списка существует с 1.0.лол.

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