Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2013_1 / ООП / Введение_SWG.pdf
Скачиваний:
82
Добавлен:
23.02.2015
Размер:
3.32 Mб
Скачать

3.7 Класс FormAttachment

java.lang.Object

org.eclipse.swt.layout.FormAttachment

Экземпляры этого класса (таблица 3.8) определяют края элемента управления в пределах FormLayout. FormAttachments являются значением полей top, bottom, left и right объекта FormData для элемента управления. Например:

FormData data

= new FormData();

data.top

= new FormAttachment(0,5);

data.bottom

= new FormAttachment(100,-5);

data.left

= new FormAttachment(0,5);

data.right

= new FormAttachment(100,-5);

button.setLayoutData(data);

FormAttachment определяет подключение стороны элемента управления, используя уравнение y = ax + b, где "a" представляет долю родительской ширины (от левой) или высоты (от верхней) и может быть определено, используя числитель и знаменатель, или просто величину в процентах. Если использованы проценты, знаменатель установлен как 100. Значение "b" в уравнении представляет приращение области в пикселях от позиции присоединения. Например:

FormAttachment attach = new FormAttachment (20, -5);

определяет, что сторона, которой объект FormAttachment принадлежит, лежит в 20% родительской области, минус 5 пикселей.

Управляющие стороны могут также прикреплены к другому элементу управлению. Например:

FormAttachment attach = new FormAttachment (button, 10);

определяет, что сторона, к которой объект FormAttachment принадлежит, будет лежать в той же позиции, как смежная сторона управления кнопки, плюс 10 пикселей. Сторона элемента может также прикреплена к противоположной стороне заданного элемента управления. Например:

FormData data = new FormData();

data.left = new FormAttachment(button, 0, SWT.LEFT);

определяет, что левая сторона лежит в той же позиции как левая сторона управления кнопки. Элемент может быть прикреплен к позиции, которая центрируется на заданном элементе. Например:

data.left = new FormAttachment (button, 0, SWT.CENTER);

100

определяет, что левая сторона будет позиционирована так, чтобы она была отцентрирована между левыми и правыми сторонами кнопки. Если выравнивание не определено, то по умолчанию элемент подключается к смежной стороне.

Таблица 3.8 – Методы компонентов класса FormAttachment

 

Поля объекта

int

alignment – определяет выравнивание стороны элемента, которая

 

прикреплена к элементу управления

Control

control – определяет элемент, к которому прикреплена сторона.

int

denominator – знаменатель терма "a" в уравнении, y = ax + b,

 

которое определяет присоединение

int

numerator – числитель терма "a" в уравнении, y = ax + b, которое

 

определяет присоединение

int

offset – определяет смещение в пикселях стороны от позиции

 

присоединения

 

Конструкторы класса

FormAttachment(Control control) – Создание экземпляра класса для заданного элемента

FormAttachment(Control control, int offset) – Создает новый экземпляр класса для заданного элемента и смещения

FormAttachment(Control control, int offset, int alignment) – Создает новый экземпляр класса для заданного элемента, смещения и выравнивания

FormAttachment(int numerator) – Создает новый экземпляр класса для заданного счетчика. Поскольку никакие знаменатель или смещение не определены, numerator рассматривается как процент формы, со знаменателем 100

FormAttachment(int numerator, int offset) – Создает новый экземпляр класса для заданного счетчика и смещения

FormAttachment(int numerator, int denominator, int offset) – Создает новый экземпляра класса для заданных параметров

 

Методы

String

toString() – Возвращает строку содержащую краткое,

 

удобочитаемое описание получателя

 

 

101

3.8 Класс FormData

java.lang.Object

org.eclipse.swt.layout.FormData

Экземпляры этого класса (таблица 3.9) определяют присоединения элемента в FormLayout. Чтобы установить объект FormData на элемент управления используется метод setLayoutData(). Для определения присоединения для FormData, непосредственно установите поля:

FormData data = new FormData(); data.left = new FormAttachment(0,5); data.right = new FormAttachment(100,-5); button.setLayoutData(formData);

FormData содержит FormAttachments для каждой стороны элемента управления и использует FormLayout, чтобы задать размер и позицию элемента управления. Объекты FormData также позволяют устанавливать ширину и высоту элементов управления в пределах FormLayout.

Таблица 3.9 – Методы компонентов класса FormData

 

Поля объекта

FormAttachment

bottom – присоединение нижней границы элементов

 

управления

int

height – высота элементов управления

FormAttachment

left – присоединение левой границы элементов

 

управления

FormAttachment

right – присоединение правой границы элементов

 

управления

FormAttachment

top – присоединение верхней границы элементов

 

управления

int

width – ширина элементов управления

 

Конструкторы

FormData() – новый FormData, использовав значения по умолчанию

FormData(int width, int height) – новый FormData, использовав заданные значения

Методы

String toString() – Возвращает строку содержащую краткое, удобочитаемое описание получателя

102

103

Соседние файлы в папке ООП