Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Бишоп Д. -> "Эффективная робота Java 2" -> 156

Эффективная робота Java 2 - Бишоп Д.

Бишоп Д. Эффективная робота Java 2 — Спб.: Питер, 2002. — 592 c.
ISBN 966-552-107-1
Скачать (прямая ссылка): effektivnayarabotajava2002.djvu
Предыдущая << 1 .. 150 151 152 153 154 155 < 156 > 157 158 159 160 161 162 .. 259 >> Следующая

FlagCanvas (String c, Color Ы, Color b2, Color b3, int f) { country == c; barl - Ы; bar2 = b2;
ЬагЗ — ЪЗ;
flagNo = f;
public void paint (Graphics g) {
// Формирует флаг из цветных прямоуголькиков.
g.setColor (barl)?
Размещение графики в окне
353
g.fillRect <40, 40, 200, 40); q.setColor (bar2 Ї}
g.fillRect (40, SO, 200, 40);
g.setColor (ЬагЗ};
g.fillRect (40 r 120, 200, 40);
// Отображение метки (названия страны),
g.setColor (Color.black);
g.drawString(country, 100,ISO);
)
1
Щ.
Методы и классы пакета awt: резюме
В завершение раздела поговорим о том, какие классы пакета awt и какие методы этих классов наиболее часто употребляются» В наших программах применялись главным образом классы Fraine, Window, Container, Component и Graphics. Наибольшее распространение получили классы Component (главный класс пакета awt) и Graphics, Метод setTitle можно получить из класса Frame, а класс Container используется только в тех случаях, когда планируется применение группирующих компонентов, как показано в следующем разделе. Отношения между классами в пакете awt представлены на рис, 10.6.
1
java.awt ------ЯГ"
Л____
і РгатеГ ]
fsetritie * “ J ‘etc. J
isatSfceO
і setVtelWeQ [ etc. ______
Г Font — -j:
і WeatherChart 1
і paint і
і i i і
і
j
head trig
a
r
Graphics J
palntQ і drawStrlngO 1
HIIRedQ drawLtneO
setColorO
etc.
Г' і _
Cokx
X
i
Рис. 10,6. Схема к программе WeatherChart, на которой показаны отношения ме?кду классами пакета awt
10.3. Компоновка пользовательского интерфейса____________________________
Обработка графики — это всего лишь один из аспектов GUI. Другой — создание легко реагирующей среды, с помощью которой пользователь сможет взаимодействовать с программой. Для этой цели Java предоставляет множество компонентов (рис. ЮЛ). Эти компоненты не реализуются методом paint, а создаются как объекты с определенными значениями конструктора, после чего добавляются во фрейм в соответствии с действительной схемой размещения.
354
Главо 10. Графика и пользовательские интерфейсы
Наиболее простые компоненты — это класс Label, предоставляющий возможность выводить фрагменты текста, и класс Button, который является базисным средством ддя взаимодействия с программой, Пакет awt содержит много таких компонентов, некоторые из них мы рассмотрим в следующих разделах.
Класс Label обеспечивает вывод простого текста, передаваемого в качестве параметра его конструктору;
add(new Label text”} ) ;
Метка (объект Label) создается с заданным текстом и добавляется в текущий контейнер (обычно текущий фрейм). ___________________________________________________________
Например, вывести на экран метку Школа: позволяет следующий оператор:
add(new Label ("Школа: "));
Объект Button создается аналогичным образом, но при этом имеется дополнительное средство, позволяющее реагировать на событие (т.е. мы щелкнем на кнопке, которая отображена на экране, а программа совершит некоторое действие). Вот как протекает процесс создания кнопки:
// объявляется компонент Button buttonid;
// создается зкзеїшляр объекта bLrtConiaf = пек Button ("sotfte text") ; add (buttonid) я________________________________________________________________________________
Объявляется объект buttonid, а потом создается экземпляр объекта с заданным текстовым значением*
Затем этот компонент добавляется в текущий контейнер (обычно текущий фрейм).
Поскольку метод add определяется в классе Container, мы выполняем следующее действие — добавляем кнопку в контейнер, назначенный по умолчанию, т.е, во фрейм, с которым работаем. Скоро вы узнаете, как объявлять другие контейнеры* Различие между объявлениями объектов Label И Button состоит в том, что объекты Label пассивные: для них нельзя задать выполнение какого-нибудь действия . Вот почему редко возникает необходимость делать их объектными переменными (использовать какой-либо идентификатор в качестве имени). С другой стороны, можно утверждать, что в дальнейшем к кнопкам будут обращаться, поэтому они должны быть представлены переменными с постоянными идентификаторами. Это также тот случай, когда идентификатор используется вне конструктора, поэтому объектную переменную мы объявляем перед созданием кнопки.
Например, для создания кнопки submitButton и размещения ее в окне можно использовать следующий код:
But to n s ubmi t Butto n;
submitButton = new Button ("Запустить") add(submitButton)
Компоновка пользовательского интерфейса
355
Почему нет параметров, задающих координаты х и у фрейма, в который добавляются компоненты? Причина заключается в том, что с этими компонентами (в отличие от графических элементов) работают менеджеры размещения.
Менеджеры размещения
Предыдущая << 1 .. 150 151 152 153 154 155 < 156 > 157 158 159 160 161 162 .. 259 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.