Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lab05_2012_draft_1

.pdf
Скачиваний:
46
Добавлен:
07.06.2015
Размер:
1.64 Mб
Скачать

Рис. 19 D. Вновь добавленное сокращение помещается в конец таблицы

Рис. 19 Е. В поле Expanded Text следует напечатать текст, в который должно «превращаться» сокращение

Рис. 19 F. Содержимое поля Description будет отображаться в контекстном меню

Если теперь выделить фрагмент текста и обратиться к меню через значок лампочки (или клавиатурную комбинацию Alt + Enter), то соответствующий пункт меню появится (проверьте).

Но, к сожалению, при использовании для выделения окна Usages выделенным оказывается только имя поля progressBar, но не обращение к его методу setVisible. Поэтому если сразу выполнить команду Surround with /* selection */ , то это приведет к ошибке (рис. 20).

Рис. 20. Если закомментировать только имя поля, возникнет ошибка

Поэтому следует сначала выделить весь код (включая точку с запятой), и уже после этого обратиться к списку предложенных средой вариантов, где отыскать и выполнить эту

команду (рис. 21; в Вашей версии среды команды могут располагаться в ином порядке). В результате этот фрагмент кода будет закомментирован (рис. 22).

Примечание.

Конечно, можно закомментировать фрагмент кода и без помощи среды, и используя обычный комментарий до конца строки (особенно, если код, который нужно закомментировать, действительно помещается на одной строке).

Теперь то же самое следует проделать со следующими семью вхождениями progressBar – с помощью вкладки Usages найти их в коде и заключить в комментарий (вручную или с помощью среды). Важно отметить, что если progressBar (это касается и любой другой переменной) встречается только в левых частях операторов присваивания или используется для установки значений некоторых свойств, то удаление, как правило, не приведет к разрушительным последствиям для приложения. Если же удаляемая переменная используется для установки какого-либо другого значения или встречается в правой части оператора присваивания, то код программы наверняка потребует куда более серьезной «переработки».

Рис. 21. Заключение кода в комментарий

Рис. 22. Закомментированный код

Девятое и последующие вхождения оказываются в области Generated Code, непосредственное редактирование которой пользователю не разрешено (рис. 23). Значок лампочки появится, но в контекстном меню нужных пунктов не будет.

Рис. 23. Девятое вхождение закомментировать не удастся

Чтобы удостовериться, что больше не осталось ни одного вхождения поля progressBar в область кода, редактирование которой доступно программисту, можно использовать кнопку Refresh the refactoring data (обновить данные рефакторинга) (рис. 24).

Рис. 24. Обновление данных рефакторинга

Нажатие на эту кнопку вернет Вас к окну Safely Delete (рис. 15), после чего потребуется вновь нажать кнопку Preview (и перейти к окну, показанному на рис. 16), а затем вновь перейти к списку вхождений. Как можно видеть, он стал короче (рис. 25), и последовательный просмотр всех оставшихся вхождений неизменно приводит нас в область Generated Code.

Рис. 25. Обновленный список содержит 4 элемента

Эта область, как уже было сказано, содержит код, который автоматически генерируется при помещении визуальных компонентов на форму в режиме отображения Design. Поэтому переключитесь в этот режим отображения и выберите элемент progressBar с помощью Инспектора объектов или же просто щелкнув по нему мышью (рис. 26).

Рис. 26. Элемент progressBar выделен

Теперь с помощью контекстного меню (которое можно вызвать как щелкнув по выделенному объекту непосредственно, так и в Инспекторе объектов) удалите элемент (рис. 27).

Рис. 27. Удаление с помощью контекстного меню

Вновь переключитесь в режим отображения исходного кода и нажмите на кнопку Refresh the refactoring data (рис. 24). После возвращения к окну Safely delete и нажатия на кнопку Preview Вы увидите окно с сообщением, что тот элемент, который должен быть подвергнут рефакторингу, удален или существенно изменен, и получить список вхождений невозможно.

Рис. 28. Сообщение об отсутствии элемента для рефакторинга

В этом окне можно нажать кнопку Cancel (отмена) и тем самым прекратить процесс рефакторинга (для надежности можете выполнить поиск элемента progressBar в файле и убедиться, что он присутствует только в комментариях).

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

Соседние файлы в предмете Программирование на Java