Приложение 3. Основные компоненты



Компонент Label

Компонент Label — это просто строка текста, оформленная как графический компонент для размещения в контейнере. Текст можно поменять только методом доступа setText(string text), но не вводом пользователя с клавиатуры или с помощью мыши.

Создается объект этого класса одним из трех конструкторов:

· Label () — пустой объект без текста;

· Label (string text) — объект с текстом text, который прижимается клевому краю компонента;

· Label (String text, int alignment) — объект с текстом text и определенным размещением в компоненте текста, задаваемого одной из трех констант: CENTER, LEFT, RIGHT.

Размещение можно изменить методом доступа setAlignment(int alignment).

Остальные методы позволяют получить текст getText() и размещение getAlignment ().

События

В классе Label происходят события классов Component: ComponentEvent, FocusEvent, KeyEvent, MouseEvent.

Компонент Button

Компонент Button — это кнопка стандартного для данной графической системы вида с надписью, умеющая реагировать на щелчок кнопки мыши — при нажатии она "вдавливается" в плоскость контейнера, при отпускании — становится "выпуклой".

Два конструктора Button () и Button (String label) создают кнопку без надписи и с надписью label соответственно.

Методы доступа getLabel() и setLabel (String label) позволяют получить и изменить надпись на кнопке.

Главная функция кнопки — реагировать на щелчки мыши, и прочие методы класса обрабатывают эти действия.

События

Кроме событий класса Component: ComponentEvent, FocusEvent, KeyEvent, MouseEvent, при воздействии на кнопку происходит событие ActionEvent.

Компонент Checkbox

Компонент Checkbox — это надпись справа от небольшого квадратика, в котором в некоторых графических системах появляется галочка после щелчка кнопкой мыши — компонент переходит в состояние on. После следующего щелчка галочка пропадает — это состояние off. В других графических системах состояние on отмечается "вдавливанием" квадратика. В компоненте Checkbox состояния on/off отмечаются логическими значениями true/false соответственно.

Три конструктора Checkbox (), Checkbox (String label), Checkbox (String label, boolean state) создают компонент без надписи, с надписью label в состоянии off, и в заданном состоянии state.

Методы доступа getLabel(), setLabel (String label), getState(), setState (boolean state) возвращают и изменяют эти параметры компонента.

События

В классе Checkbox происходят события класса Component: ComponentEvent, FocusEvent, KeyEvent, MouseEvent, а при изменении состояния кнопки возникает событие ItemEvent.

В библиотеке AWT радиокнопки не образуют отдельный компонент. Вместо этого несколько компонентов Checkbox объединяются в группу с помощью объекта класса CheckboxGroup.

Класс CheckboxGroup

Класс CheckboxGroup очень мал, поскольку его задача — просто дать общее имя всем объектам Checkbox, образующим одну группу. В него входит один конструктор по умолчанию CheckboxGroup() и два метода доступа:

· getSelectedCheckbox(), возвращающий выбранный объект Checkbox;

· setSelectedCheckbox (Checkbox box), задающий выбор.

Как создать группу радиокнопок

Чтобы организовать группу радиокнопок, надо сначала сформировать объект класса CheckboxGroup, а затем создавать кнопки конструкторами

Checkbox(String label, CheckboxGroup group, boolean state)

Checkbox(String label, boolean state, CheckboxGroup group)

Эти конструкторы идентичны, просто при записи конструктора можно не думать о порядке следования его аргументов.

Только одна радиокнопка в группе может иметь состояние state = true.

Компонент Choice

Компонент Сhoice — это раскрывающийся список, один, выбранный, пункт (item) которого виден в поле, а другие появляются при щелчке кнопкой мыши на небольшой кнопке справа от поля компонента.

Вначале конструктором Choice() создается пустой список.

Затем, методом add (String text), в список добавляются новые пункты с текстом text. Они располагаются в порядке написания методов add() и нумеруются от нуля.

Вставить новый пункт в нужное место можно методом

insert (string text, int position).

Выбор пункта можно произвести из программы методом select (String text) или select(int position).

Удалить один пункт из списка можно методом remove (String text) или remove (int position), а все пункты сразу — методом removeAll().

Число пунктов в списке можно узнать методом getItemCount ().

Выяснить, какой пункт находится в позиции pos можно методом getItem(int pos), возвращающим строку.

Наконец, определение выбранного пункта производится методом getSelectedIndex(), возвращающим позицию этого пункта, или методом getSelectedItem(), возвращающим выделенную строку.

События

В классе Choice происходят события класса Component: ComponentEvent, FocusEvent, KeyEvent, MouseEvent, а при выборе пункта возникает событие ItemEvent.

Если надо показать на экране несколько пунктов списка, то в этом случае используется объект класса List.

Компонент TextField

Компонент TextField — это поле для ввода одной строки текста. Ширина поля измеряется в колонках (column). Ширина колонки — это средняя ширина символа в шрифте, которым вводится текст. Нажатие клавиши <Enter> заканчивает ввод и служит сигналом к началу обработки введенного текста, т. е. при этом происходит событие ActionEvent.

В классе четыре конструктора:

· TextField() — создает пустое поле шириной в одну колонку;

· TextField(int columns) — создает пустое поле с числом колонок columns;

· TextField(String text) — создает поле с текстом text;

· TextField(String text, int columns) — создает поле с текстом text и числом колонок columns.

Интересная разновидность поля ввода — поле для ввода пароля. В таком поле вместо вводимых символов появляется какой-нибудь особый эхо-символ, чаще всего звездочка, чтобы пароль никто не подсмотрел через плечо.

Данное поле ввода получается выполнением метода setEchoChar(char echo). Аргумент echo — это символ, который будет появляться в поле. Проверить, установлен ли эхо-символ, можно логическим методом echoCharisSet(), получить эхо-символ — методом getEchoChar ().

Чтобы вернуть поле ввода в обычное состояние, достаточно выполнить метод setEchoChar(0).

События

Кроме событий класса Component: ComponentEvent, FocusEvent, KeyEvent, MouseEvent, при изменении текста пользователем происходит событие TextEvent, а при нажатии на клавишу <Enter> — событие ActionEvent.

Контейнер Framе

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

На кнопке контекстного меню в левой части строки заголовка изображена дымящаяся чашечка кофе — логотип Java. Вы можете установить там другое изображение методом setIconImage(image icon), создав предварительно изображение icon в виде объекта класса image.

Все элементы окна Frame вычерчиваются графической оболочкой операционной системы по правилам этой оболочки. Окно Frame автоматически регистрируется в оконном менеджере графической оболочки и может перемещаться, менять размеры, сворачиваться в панель задач (task bar) с помощью мыши или клавиатуры, как "родное" окно операционной системы.

Создать окно типа Frame можно следующими конструкторами:

· Frame () — создает окно с пустой строкой заголовка;

· Frame (String title) — записывает аргумент title в строку заголовка.

Методы класса Frame осуществляют доступ к элементам окна, но также класс Frame наследует около двухсот методов классов Component, Container и Window. В частности, наследуется менеджер размещения по умолчанию — BorderLayout.

События

Кроме событий класса Component: ComponentEvent, FocusEvent, KeyEvent, MouseEvent, при изменении размеров окна, его перемещении или удалении с экрана, а также показа на экране происходит событие windowEvent.

 


Дата добавления: 2019-07-15; просмотров: 122; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!