Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОТВЕТЫ МИР.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
547 Кб
Скачать
☆

37 Размещение объектов для графического пользовательского интерфейса. Диспетчера компоновки

1. FlowLayout – стандартный диспетчер компоновки, позволяющий размещать объекты слева направо, пока они помещаются в один ряд. Неуместившиеся компоненты располагаются ниже, в следующем ряду. Для выравнивания, необходимо создать диспетчер компоновки FlowLayout(int режим). Параметр «режим» может принимать следующие значения: LEFT, RIGHT, CENTER. Для задания расстояния между объектами по вертикали и горизонтали используется следующая конструкция: FlowLayout(int режим, int гориз, int верт).

2. BorderLayout – делит всю область окна на 5 частей. 4 области располагаются по краям окна и одна в центре. Для обращения к этим областям используются следующие значения: North, South, East, West, Center. Диспетчер компоновки создается при помощи стандартного конструктора. При добавлении компонента в контейнер, с которым ассоциирован данный диспетчер компоновки, используется следующий метод: add(String область, Component объект);

3. GridLayout – размещает компоненты в виде таблицы. При добавлении, элементы заносятся в таблицу построчно. При этом количество строк и столбцов задается в диспетчере компоновки: GridLayout(int строки, int столбцы)

4. CardLayout – содержит несколько различных типов компоновки. Каждый вариант можно рассматривать как отдельную колоду карт, т.е. видна только 1 верхняя карта. В данном классе есть только 1 стандартный конструктор. Объекты помещаются в панель, для которого выбирается компоновщик CardLayout и каждая карточка помещается на отдельную панель, и главная панель присоединяется к апплету. При добавлении карточек им присваиваются имена. Для этого используется метод add(String имя, Component панель). После того, как создана вся колода, можно активировать карточку, используя один из следующих методов: first(), last(), next(), previous(). Для активации конкретной карточки используется следующий метод: show(Container колода, String карточка)

38 Использование меню. Окна Frame

Концепция меню в java реализована при помощи следующих классов: MenuBar, Menu, MenuItem. Строка меню содержит один или несколько объектов класса Menu, каждый из которых содержит список объектов класса MenuItem. Т.к. класс Menu является подклассом класса MenuItem, то можно создавать вложенные меню. Java позволяет создавать переключающие пункты меню (CheckBoxMenuItem)

Процедура создания меню:

1. Сначала необходимо создать экземпляр класса MenuBar при помощи стандартного конструктора.

2. Создать экземпляры класса Menu;

3. Пункты меню можно создать при помощи MenuItem или CheckBoxMenuItem

4. после создания пункта меню, его необходимо добавить к меню стандартным методом add

5. Добавить объекты меню к объекту MenuBar при помощи стандартного метода add.

Меню встраивается только в окна типа Frame

39 Работа с изображениями.

Изображения являются объектами класса Image, который входит в пакет Java. Для работы с изображениями существует 3 основных метода:

1. создание окна; 2. загрузка ;3. вы вод на экран.

Класс компанент содержит метод createImage(), который возвращает чистое изображение с заданной шириной и высотой как параметр данного метода. Изображение может не создаваться, а загружаться с помощью метода getImage(), определенного в классе апплет. Имеет 2 версии: 1) с одним параметром (указывает на url загружаемого изображения); 2) с двумя параметрами (url рисунка и типа string - имя).

Для отображения изображения на экране используется метод drawImage(), содержащийся в классе Graphics. Имеет 4 параметра:1)типа Image – объект, который прорисовывается;2)и3) целочисленные – левый верхний угол изображения;4) ImageObserver – контройлер, следящий за загрузкой рисунка.

При указании любого контройлера, как объект отслеживает загрузку изображения, изображение на экране появляется не сразу, а постепенно, так как реализация данного контройлера вызывает метод Paint при каждом поступлении новой порции данных изображений.