Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
прога 2012.docx
Скачиваний:
6
Добавлен:
17.09.2019
Размер:
1 Мб
Скачать
☆

Вопрос 35. Вопрос 36. Вопрос 37. Вопрос 38 Поиск элемента в коллекции. Двоичный и прямой поиск. Способ идентификации ситуации «Элемент не найден».

Прямой поиск (Линейный):

Идея поиска: Разбить массив на на две части и отбросить ту, в которой искомого элемента нет.

Существует два варианта бинарного поиска : итерационный и рекурсивный.

Код рекурсивного поиска:

Код итерационного двоичного поиска:

Для поиска элемента в коллекции можно вопсользоваться методом binarySearch() имеет вид:

int binarySearch(коллекция, элемент)

и возращает индекс первого вхождение элемента в коллекцию. Если при поиске возращается значение “-1”, то элемент не найден.

Вопрос 39. Графический интерфейс пользователя. Составные элементы фрейма.

Графический интерфейспользователя (GUI) – средство и способ взаимодействия пользователя и программы при помощи мышки и клавы.

В Java есть 2 основных пакета для создания графических интерфейсов (Graphics User Interface). Это Abstract Windows Toolkit (AWT) и Swing.

Чтобы какой-либо компонент появился на экране его надо сделать видимым и поместить в контейнер.

В контейнер Java помещаются требуемые элементы графического интерфейса. Контейнер можно создать с помощью элементов JFrame , JApplet, JDialog и др.

Структура окна графического приложения :

Контейнер Frame — это полноценное готовое окно со строкой заголовка, в которую помещены кнопки контекстного меню, сворачивания окна в ярлык и разворачивания во весь экран и кнопка закрытия приложения.

Фрейм должен иметь строку заголовка, полосы прокрутки, кнопки — свернуть, разврнуть, закрыть. Нобязательные компоненты: строка меню с выпадающими пунктами. Окно должно быть окружено рамкой, в пределах которой происходит раегирование на действия мышью.

Вопрос 40. Библиотеки Java, поддерживающие графический интерфейс.

AWT и SWING

В ранних версиях Java средства Swing отсутсвовали. Можно счиатать, что они стали попыткой преодолеть трудности, связанные с первой оконной подсистемы –AWT.

Одним из ограничений AWT была платформеннo-ориентированная поддержка визуальных компонентов. Таким образом внешний вид интерфейсных элементов определялся не средствами Java, а используемой платформой. Элементы, создаваемые средством AWT, назывались тяжеловесными.

Платформенно-ориентированная поддержка интерфейсных элементов стала источником ряда проблем. Из-за различия в ОС комоненты по-разному выгядели и даже по-разному вели себя на различных платформах. К тому же использование тяжеловесных компонентов пораждало ряд проблем. Например такие компоненты всегда имели прямоугольную форму и были непрозрачны.

Потребовалось не слишком много времени, чтобы осознать, что ограничения AWT слишком серьёзны и нужен новый подход. Т.о. в 1997 появился набор компонентов Swing. Все компоненты Swing, за небольшим исключением являются легковесными, а это означает, что они полнстью написаны на Java и не зависят от конкретной платформы. Легковесный компонент может иметь форму, отличную от прямоугольной и быть прозрачным.

Общее количество компонентов библиотеки Swing почти вдвое превышает количество компонентов, входящих в библиотеку AWT, и эти компоненты обладают большими функциональными возможностями.

использование Swing - почти всегда предпочтительнее, за исключением тех случаев, когда нужна обратная совместимость с Java 1.