- •Основные компоненты
- •Класс Component
- •Класс Container
- •Компонент Button
- •Компонент Checkbox
- •Класс CheckboxGroup
- •Компонент Choice
- •Компонент List
- •Компоненты для ввода текста
- •Класс TextComponent
- •Компонент TextField
- •Компонент TextArea
- •Компонент Scrollbar
- •Контейнер Panel
- •Контейнер ScrollPane
- •Контейнер Window
- •Контейнер Framе
- •Контейнер Dialog
- •Контейнер FileDialog
- •Создание собственных компонентов
- •Компонент Canvas
- •Создание "легкого" компонента
Класс Container
Каждый компонент перед выводом на экран помещается в контейнер – подкласс класса container Класс container – прямой подкласс класса component, и наследует все его методы. Кроме них основу класса составляют методы добавления компонентов в контейнер:
add (Component comp) – компонент comp добавляется в конец контейнера;
add (Component comp, int index) – компонент comp добавляется впозицию index в контейнере, если index == -i, то компонент добавляется в конец контейнера;
add (Component comp, object constraints) – менеджеру размещения контейнера даются указания объектом constraints;
add (String name, Component comp) –компонент получает имя name.
Два метода удаляют компоненты из контейнера:
remove (Component comp) – удаляет компонент с именем comp;
remove (int index) – удаляет компонент с индексом index в контейнере.
Один из компонентов в контейнере получает фокус ввода (input focus), на него надравляется ввод с клавиатуры. Фокус можно переносить с одного компонента на другой клавишами <Таb> и <Shift>+<Tab>. Компонент может запросить фокус методом
requestFocus ()
и передать фокус следующему компоненту методом
transferFocus().
Компонент может проверить, имеет ли он фокус, своим логическим методом hasFocus().
Для облегчения размещения компонентов в контейнере определяется менеджер размещения (layout manager) – объект, реализующий интерфейс LayoutManager или его подынтерфейс LayoutManager2. Каждый менеджер размещает компоненты в каком-то своем порядке: один менеджер расставляет компоненты в таблицу, другой норовит растащить компоненты по сторонам, третий просто располагает их один за другим, как слова в тексте. Менеджер определяет смысл слов "добавить в конец контейнера" и "добавить в позицию index".
В контейнере в любой момент времени может быть установлен только один менеджер размещения. В каждом контейнере есть свой менеджер по умолчанию, установка другого менеджера производится методом
setLayout(LayoutManager manager)
Кроме событий Класса Component: ComponentEvent, FocusEvent, KeyEvent, MouseEvent при добавлении и удалении компонентов в контейнере происходит событие ContainerEvent.
Label.
Компонент Label – это просто строка текста, оформленная как графический компонент для размещения в контейнере. Текст можно поменять только методом доступа setText(string text), но не вводом пользователя с клавиатуры или с помощью мыши.
Создается объект этого класса одним из трех конструкторов:
Label () – пустой объект без текста;
Label (string text) – объект с текстом text, который прижимается клевому краю компонента;
Label (String text, int alignment) – объект с текстом text и определенным размещением в компоненте текста, задаваемого одной из трех констант: CENTER, LEFT, RIGHT .
Размещение можно изменить методом доступа setAlignment(int alignment).
Остальные методы, кроме методов, унаследованных от класса component, позволяют получить текст
getText()
и размещение
getAlignment().
В классе Label происходят события классов Component: ComponentEvent, FocusEvent, KeyEvent, MouseEvent.
