Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
компоненты GDI.doc
Скачиваний:
5
Добавлен:
11.09.2019
Размер:
371.71 Кб
Скачать

Класс 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.