Подтвердить что ты не робот

Как отлаживать макеты Java Swing

Существует один метод, который печатает информацию о макете для компонентов компонента. Я знал, что есть один метод, но я забыл имя.

Когда вы вызываете этот метод для компонента Swing, он подробно отображает информацию о макетах для этого компонента, как вызов dumpstacktrace.

Любая идея? Что это за имя метода? Я прочитал его в одной книге, но забыл. Или дайте мне знать некоторые хорошие способы отладки макета Java Swing.

4b9b3361

Ответ 1

Визуальный инструмент для отладки swing Swing Explorer, который также имеет плагины для Netbeans и Eclipse. Он позволяет вам перемещаться по дереву компонентов Swing и может быть весьма полезным.

Ответ 2

Когда ваш JFrame виден, нажмите CTRL + SHIFT + F1 и посмотрите вывод консоли для иерархии дерева компонентов и макетов.

Ответ 3

Я не знаю о конкретном методе для этого, вы можете сделать это при нажатии клавиши во время выполнения.

Взгляните на страницу: Устранение неполадок AWT

Он предоставляет следующий совет для отладки:

Чтобы сбросить иерархию компонентов AWT, нажмите Ctrl + Shift + F1.

Он также предоставляет другие советы для отладки макета в разделе "Проблемы с макетом", а также есть другой раздел, посвященный качелям "Устранение неполадок Swing"

Ответ 4

Каждый контейнер (и это включает все JComponents) имеет метод getLayout(), который возвращает менеджер компоновки, который был установлен для этого компонента, или null, если ни один не установлен (но помните, что многим заданы менеджеры по умолчанию). Вы также можете getComponents() вернуть массив содержащихся компонентов. Если вы хотите увидеть всех менеджеров макетов, вам придется написать рекурсивный метод, чтобы пройти через все удерживаемые компоненты, убедитесь, что они наследуют от контейнера, а затем вызывают указанные выше методы.