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

{

System.out.println (“Select All”);

}

});

item.setText (“Select &All\tCtrl+A”); item.setAccelerator (SWT.MOD1 + ‘A’); shell.setSize (200, 200);

shell.open ();

2.15 Класс MenuItem

java.lang.Object

org.eclipse.swt.widgets.Widget

org.eclipse.swt.widgets.Item

org.eclipse.swt.widgets.MenuItem

Объекты этого класса представляют интерфейс пользователя, который уведомляет о нажатии и отпускании пункта меню (таблица 2.14).

Стили: CHECK, CASCADE, PUSH, RADIO, SEPARATOR События: Arm, Help, Selection

Примечание: Только один из стилей CHECK, CASCADE, PUSH, RADIO, SEPARATOR может быть определен.

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

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

MenuItem(Menu parent, int style) – Создает новый объект этого класса для родителя (который должен быть Menu) и стиля, описывающая поведение и вид

MenuItem(Menu parent, int style, int index) – Создает новый объект этого класса для родителя (который должен быть Menu), стиля, описывающая поведение и вид, и индекс в списке пунктов своего родителя

 

Методы

void

addArmListener(ArmListener listener) – Добавляет обработчик

 

события arm, посылая одно из сообщений, определенное на

 

интерфейсе ArmListener

void

addHelpListener(HelpListener listener) – Добавляет обработчик

 

события помощи, посылая этому одно из сообщений

 

определенное на интерфейсе HelpListener

void

addSelectionListener(SelectionListener listener) – Добавляет

 

обработчик события «выбран пункт меню», посылая этому одно

76

 

из сообщений определенное на интерфейсе SelectionListener

protected

checkSubclass() – Проверяет этот класс может быть subclassed

void

 

int

getAccelerator() – Возвращает акселератор виджета

 

 

boolean

getEnabled() – Возвращается true, если получатель доступен, и

 

false в противном случае

Menu

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

 

его нет

Menu

getParent() – Возвращает родителя получателя, который должен

 

быть Menu

boolean

getSelection() – Возвращает true, если пункт выбран

 

 

boolean

isEnabled() – Возвращается верно, если получатель доступен, и

 

ложь в противном случае

void

removeArmListener(ArmListener listener) – Удаляет обработчик

 

события arm для управления

void

removeHelpListener(HelpListener listener) – Удаляет обработчик

 

события help для управления

void

removeSelectionListener(SelectionListener listener) – Удаляет

 

обработчик события выбора для элемента управления

void

setAccelerator(int accelerator) – Устанавливает акселератор виджета

void

setEnabled(boolean enabled) – Доступность пункта если аргумент

 

является истиной и нет в противном случае

void

setImage(Image image) – Устанавливает образ, который отобразит

 

получатель

void

setMenu(Menu menu) – Устанавливает падающее меню для пункта

 

 

void

setSelection(boolean selected) – Устанавливает состояние выбора

 

пункта

void

setText(String string) – Устанавливает текст получателя

 

 

Пример.

Display display = new Display ();

Shell shell = new Shell (display);

Composite composite = new Composite (shell, SWT.BORDER); composite.setSize (100, 100);

Menu menu = new Menu (shell, SWT.POP_UP);

MenuItem item1 = new MenuItem (menu, SWT.PUSH);

77

item1.setText (“Push Item”);

MenuItem item2 = new MenuItem (menu, SWT.CASCADE); item2.setText (“Cascade Item”);

Menu subMenu = new Menu (menu); item2.setMenu (subMenu);

MenuItem subItem1 = new MenuItem (subMenu, SWT.PUSH); subItem1.setText (“Subitem 1”);

MenuItem subItem2 = new MenuItem (subMenu, SWT.PUSH); subItem2.setText (“Subitem 2”);

composite.setMenu (menu); shell.setMenu (menu); shell.setSize (300, 300); shell.open ();

2.16 Класс MessageBox

java.lang.Object

org.eclipse.swt.widgets.Dialog

org.eclipse.swt.widgets.MessageBox

Объекты этого класса (таблица 2.15) используются для формирования сообщений пользователю.

Стили:

ICON_ERROR, ICON_INFORMATION, ICON_QUESTION, ICON_WARNING, ICON_WORKING

OK, OK | CANCEL

YES | NO, YES | NO | CANCEL

RETRY | CANCEL

ABORT | RETRY | IGNORE

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

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

MessageBox(Shell parent) – Создает новый объект этого класса для родителя

MessageBox(Shell parent, int style) – Создает новый объект этого класса для родителя и стиля

 

Методы

String

getMessage() – Возвращает диалоговое сообщение, или пустую строку

 

если его нет

int

open() – Делает диалог видимым и переносит его наверх

 

 

void

setMessage(String string) – Устанавливает диалоговое сообщение

 

 

Пример.

Display display = new Display();

final Shell shell = new Shell(display);

78

shell.setLayout(new FillLayout());

Menu bar = new Menu (shell, SWT.BAR); shell.setMenuBar (bar);

MenuItem editItem = new MenuItem (bar, SWT.CASCADE); editItem.setText ("Диалоги");

Menu submenu = new Menu (shell, SWT.DROP_DOWN); editItem.setMenu (submenu);

MenuItem itemMsg = new MenuItem (submenu, SWT.PUSH); itemMsg.addListener (SWT.Selection, new Listener () {

public void handleEvent (Event e) { MessageBox msg = new MessageBox(shell,

SWT.ICON_QUESTION | SWT.YES | SWT.NO |

SWT.CANCEL);

msg.setMessage("Привет из меню"); int res = msg.open();

System.out.print("Код возврата = " + res + “\n”);

}

});

itemMsg.setText ("Сообщение"); shell.setSize(200, 200); shell.open();

2.17 Класс TabFolder

java.lang.Object

org.eclipse.swt.widgets.Widget

org.eclipse.swt.widgets.Control

org.eclipse.swt.widgets.Scrollable

org.eclipse.swt.widgets.Composite

org.eclipse.swt.widgets.TabFolder

Реализуемые интерфейсы: Drawable

Объекты этого класса (таблица 2.16) аналогичны записной книжке с закладками. Потомки, которые могут быть добавлены к объектам этого класса, должны быть типа TabItem. Закрепление управляющих элементов на странице производится методом setControl.

Стили: TOP, BOTTOM

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

Конструктор

TabFolder(Composite parent, int style) – Создает новый объект этого класса для родителя и стиля, описывающих поведение и вид

 

Методы

void

addSelectionListener(SelectionListener listener) – Добавляет

 

обработчик выбора получателя, посылая ему одно из сообщений

79

 

определенное на интерфейсе SelectionListener

protected

checkSubclass() – Проверяет, этот класс может быть subclassed

void

 

Point

computeSize(int wHint, int hHint, boolean changed) – Возвращает

 

предпочтительный размер получателя

Rectangle

computeTrim(int x, int y, int width, int height) – Задает желаемую

 

область клиента для получателя (как описано аргументами),

 

прямоугольник bounding, который требуется для области клиента

Rectangle

getClientArea() – Возвращает прямоугольник, который описывает

 

область получателя, способного отображать данные

TabItem

getItem(int index) – Возвращает пункт по индексу на получателе

int

getItemCount() – Возвращает количество пунктов на получателе

TabItem[

getItems() – Возвращает массив TabItems пунктов на получателе

]

 

TabItem[

getSelection() – Возвращает массив TabItems, который к

]

настоящему времени выбран на получателе

int

getSelectionIndex() – Возвращает индекс пункта, который к

 

настоящему времени выбран на получателе, или -1 если никакой

 

пункт не выбран

int

indexOf(TabItem item) – Просматривает список получателя

 

начиная с первого пункта (индекс 0) пока не будет обнаружен

 

пункт, заданный аргументом и возвращает индекс этого пункта

void

removeSelectionListener(SelectionListener listener) – Удаляет

 

обработчик выбора получателя

void

setSelection(int index) – Выбирается пункт с заданным индексом

void

setSelection(TabItem[ ] items) – Устанавливает выбор заданным

 

массивом пунктов

 

 

Пример.

Display display = new Display ();

final Shell shell = new Shell (display);

final TabFolder tabFolder = new TabFolder (shell, SWT.BORDER); for (int i=0; i<6; i++) {

TabItem item = new TabItem (tabFolder, SWT.NONE); item.setText ("TabItem " + i);

Button button = new Button (tabFolder, SWT.PUSH);

80

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