Назад | Начало урока | Вперед
Содержание

Глава 10 (продолжение )

Вверх

Резюме

Класс Graphics позволяет выводить геометрические фигуры, строки и изображения, а так же задавать шрифты, цвета и тд. Объектами класса Component являются такие элементы как кнопки, текстовые поля, меню и полосы прокрутки. Они могут быть помещены в контейнеры и выводится на экран надлежащим образом посредством одного из менеджеров размещения.
Подпакет java.awt.event служит для обработки внешних событий, таких как нажатие кнопок и закрытие окна, с помощью набора обработчиков, слушателей и адаптеров.
Подпакет java.awt.image пакета awt используется для внедрения изображений в разнообразных форматах.

Существуют различия между программированием отображения графических фигур и элементов UI. Графические методы Java доступны в классе Graphics, их можно использовать с помощью вызовов в переопределенных методах paint и repaint. Для отображения графических элементов применяются фреймы - объекты Frame, которые являются подклассами абстрактного класса Component. При разработке GUI можно использовать компоненты из широкого диапазона: объекты классов Button, ScrollBar, TextField и тд. Подпакет Swing является альтернативой пакету awt и предоставляет платформенно-независимые элементы и функции GUI.

В этой главе не раскрывались понятия, связанные с ключевыми словами, но широко использовались API пакета java.awt. Рассматривались такие пакеты, классы, методы:

java.avt
java.awt.event
javax.swing
ActionListener
actionPerformed
BorderLayout
Button
addActionListener
Canvas
Component
paint
repaint
setBackground
setForaground
setLocation
Container
add setLaiout
FlowLayout
FontMetrics
Frame
setTitle
setSize
setVisible
Grahpics
drawOval
drawRect
drawString
fillOval
fillRect
Color
setColor
label
LayoutManager
Panel
System.exit
Window
addWindowListener
WindowAdapter
windowClosing
windowEvent

Следующий перечень включает темы, на которых в главе сделано особое ударение:

Вверх

Вопросы

10.1 Чтобы скомпилировать программу GUI необходимо:

наследовать классу Window
наследовать классу Frame
использовать метод setVisible(true)
вызвать метод repaint

10.2 Круг, создаваемый посредством метода drawOval(300, 20, 50, 50) во рейме размером 600х400, будет позиционирован:

в нижней части фрейма слева
в верхней части фрейма слева
в верхней части фрейма по центру
в центре

10.3 Установить шрифт SansSerif с полужирным начертанием позволяет оператор:

setFont(sanserif, bold);
g.setFont(Font.sanSerif. Font,Bold, size);
g.setFont(new Font(Font.SansSerif.Font.BOLD, size);
g.setFont(new Font("SansSerif", Font.BOLD, size);

10.4 Для GU приложения, созданного в Java, менеджером размещения по умолчанию является

FlowLayout
BorderLayout
Flow center
менеджер по умолчанию не назначается

10.5 При выполнении GUI-программы нажатие некоторой кнопки ни к чему не привело.
Причина возможно заключается в том, что:

не создан экземпляр кнопки
кнопка не связана со слушателем
нет обработчика для события, источником возникновения которого является кнопка
переменная кнопки присвоена другой кнопке

10.6 ActionListener - это:

метод, вызываемый программой
интерфейс, который программа должна реализовать
класс, наследуемый программой
метод, который вызывает программу при наступлении события

10.7 Ниже приведен альтернативный вариант двух операторов из примера 10.3:

p.add(new Button ("Перезагрузить");
add("South", p);

Какое высказывание является верным?

панель должна быть указана перед методом add
первый метод add относится к панели, а второй - к фрейму
если мы записываем второй метод add должны включить в него панель p.
для размещения панели p используется менеджер BorderLayout

10.8 Какой из операторов предназначен для обращения к менеджеру BorderLayout?

setLayout(BorderLayout);
setLayout(new BorderLayout);
setLayout(new BorderLayout());
setLayout(new BorderLayout(), CENTER);

10.9 Сколько фреймов создается на заключительном этапе выполнения программы FlagMaker2 из примера 10.3?

один
три
четыре
ни одного

10.10. Наиболее значительное различие между пакетами awt и swing заключается в том, что:

методы Swing начинаются с j
методы Swing ориентируются на вид и функции конкретной платформы
методы Swing более эффективны
методы Swing реализуются независимо от какой-либо конкретной платформы

Вверх

Задачи

Примечание. Первые три задачи связаны с разработкой и программированием GUI. В них не обязательно организовывать обработку событий - для проверки GUI достаточно, чтобы обработчик выдал собщение о том, что произошло определенное событие. Такое сообщение может быть сделано посредством метода System.out.println и выведено в консольном окне Java или в командном окне MS-DOS.

10.1 Электронные часы. Разработайте эмулятор электронных часов с цифровой индикацией. Сымитируйте работу часов. Для изменения значения времени должен использоваться цикл.

10.2 Пульт управления. Реализуйте пользовательский интерфейс, имитирующий пульт управления телевизором.

10.3 Сотовый телефон. Разработайте экранную версию сотового телефона.

10.4 Дверной замок. Отдел безопасности Саванны занимается изготовлением дверных и цифровых замков с десятью кнопками, на которых указаны цифры от 0 до 9. с двумя кнопками: Индикатор и Открыть. При нажатии корректной последовательности из четырех цифр и кнопки Открыть загорается зеленая лампочка. В противном случае загорается красная лампочка. Создайте GUI-программу, обеспечивающую работу такого замка. Протестируйте ее, введя заранее в программу пять комбинаций цифр, которые пользователь должен выбрать, чтобы загорелся зеленый свет

10.5 Система безопасности. После того, как выпуск замков был налажен, потребовалось специальное программное обеспечение. Напишите небольшую программу, в которой обрабатываемыми данными служат номера квартир, имена людей и соответствующие коды. Обеспечьте в программе возможность назначения каждому замку корректной последовательности цифр на те случаи, если будут меняться замки, а следовательно и коды. Новый код должен вводиться с клавиатуры. При изменении кодов используйте пароль.

10.6 Усовершенствованные замки. Усовершенствованные замки должны быть снабжены тремя дополнительными кнопками: X,Y,Z. Создайте фрейм, который наследовал бы фрейму, описанному в GUI-программе из задачи 10.4, и введите дополнительную информацию. Как программа из задачи 10.5 будет работать с обоими видами замков после незначительных изменений?

10.7 Светофоры. Усовершенствуйте программу из примера 10.5 таким образом, чтобы получить на экране два идентичных изображения светофора. Рассмотрите различные способы их представления: в виде двух различных фреймов и в виде двух холстов в одном фрейме.

10.8 Улучшенная программа FlagMaker. Программа FlagMaker2 из примера 10.3 будет обновлена в главе 11, а сейчас можно произвести некоторые интересные усовершенствования. Замените три фиксированных текстовых объекта в конструкторе GUI собственной разработкой, позволяющей вводить четыре параметра (название страны и три цвета) в интерактивном режиме.


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz