- •Обозначения и сокращения
- •Введение
- •1 Простое SWT приложение
- •1.1 Создание приложения
- •1.2 Запуск SWT программы из командной строки
- •1.3 Структура приложения
- •1.4 Слушатели событий
- •1.5 Работа с подпроцессами
- •1.5.1 Диспетчеризация внутренних событий
- •1.5.2 Нить пользовательского интерфейса SWT
- •1.5.3 Выполнение кода за пределами нити UI
- •1.5.4 Рабочая среда и нити
- •2 Элементы управления
- •2.1 Стандартные виджеты
- •2.2 Пользовательские виджеты
- •2.3 Класс Label
- •2.3.1 Стили
- •2.3.2 Текст
- •2.3.3 Изображение
- •2.3.4 Разделители
- •2.3.5 Выравнивание
- •2.3.6 Перенос слов текста
- •2.3.7 Пример использования этикеток
- •2.4 Класс Text
- •2.5 Класс Button
- •2.5.1 Стили
- •2.5.2 Текст
- •2.5.3 Изображение
- •2.5.4 Выравнивание
- •2.5.5 Push Button
- •2.5.6 Toggle Button
- •2.5.7 Check Box
- •2.5.8 Radio Button
- •2.5.9 Selection (выбор)
- •2.5.10 Указание используемой по умолчанию кнопки
- •2.6 Класс List
- •2.6.1 Стили
- •2.6.2. Добавление элементов в список
- •2.6.3. Удаление элементов из списка
- •2.6.4 Получение элементов списка
- •2.6.5 Настройка значений элементов
- •2.6.6 Поиск элементов
- •2.6.7 Выбор элементов списка
- •2.6.8 Обработка событий списка List
- •2.7 Класс Link
- •2.7.1 Стили
- •2.7.2. Текст
- •2.7.3. Обработчики событий
- •2.8 Класс Table
- •2.9 Класс TableColumn
- •2.10 Класс TableItem
- •2.11 Класс Item
- •2.12 Класс Combo
- •2.13 Класс FileDialog
- •2.14 Класс Menu
- •2.15 Класс MenuItem
- •2.16 Класс MessageBox
- •2.17 Класс TabFolder
- •2.18 Class TabItem
- •3 Макеты
- •3.1 Класс FillLayout
- •3.2 Класс GridLayout
- •3.3 Класс GridData
- •3.4 Класс RowLayout
- •3.5 Класс RowData
- •3.6 Класс FormLayout
- •3.7 Класс FormAttachment
- •3.8 Класс FormData
- •4 Графика
- •4.1 Класс GC
- •4.2 Класс Canvas
- •5 Пакет printing
- •5.1 Класс PrintDialog
- •5.2 Класс Printer
- •5.3 Класс PrinterData
- •6 Пакет events
- •6.1 Класс Event
- •7 Разработка приложений
- •8 Разработка новых компонент
- •9 Дополнительные возможности библиотеки SWG
- •9.1 Компоненты управления
- •9.2 Виджеты
- •9.3 Плоские формы
- •9.4 Линии, точки и ломанные
- •9.5 Класс PathShape
- •10 Анимация
- •10.1 Типы анимации
- •10.2 Анимация во времени
- •10. 3 Поддержка времени
- •10.4 Пример приложения с элементами анимации
- •Список использованных источников
public void handleEvent (Event e) {
System.out.println (e.widget + " - Default
Selection");
}
});
shell.pack (); shell.open ();
2.13 Класс FileDialog
java.lang.Object
org.eclipse.swt.widgets.Dialog
org.eclipse.swt.widgets.FileDialog
Объекты этого класса (таблица 2.12) позволяют управлять файловой системой и выбирать или вводить имя файла.
Стили: SAVE, OPEN, MULTI
Примечание: Только один из стилей SAVE и OPEN может быть определен.
Таблица 2.12 – Методы компонентов класса FileDialog
Конструкторы
FileDialog(Shell parent) – Создает новый объект этого класса для указанного родителя
FileDialog(Shell parent, int style) – Создает новый объект этого класса для указанного родителя и стиля
|
Методы |
String |
getFileName() – Возвращает путь первого файла, который был |
|
выбран в диалоге, или пустая строка, если никакой файл не выбран |
String[ ] |
getFileNames()– Возвращает массив путей файлов, которые были |
|
выбраны в диалоге, или пустой массив, если никакой файл не |
|
выбран |
String[ ] |
getFilterExtensions() – Возвращает расширения файлов, которые |
|
диалог использует, чтобы фильтровать показываемые файлы |
String[ ] |
getFilterNames() – Возвращает имена, которые описывают |
|
расширения фильтра, которые диалог использует, чтобы |
|
фильтровать показываемые файлы |
String |
getFilterPath() – Возвращает директорий, который использует |
|
диалог, или пустую строку если он не установлен |
71
String |
open() – Делает диалогом видимым и при закрытии диалога |
|
пользователем возвращает сделанный выбор |
|
|
void |
setFileName(String string) – Установка начального filename по |
|
умолчанию в аргумент, который может быть null |
void |
setFilterExtensions(String[ ] extensions) – Установка расширений |
|
файлов, которые использует диалог, чтобы фильтровать файлы, |
|
может быть null |
void |
setFilterNames(String[ ] names) – Устанавливает имена расширений |
|
фильтра, которые использует диалог, чтобы фильтровать файлы, |
|
может быть null |
void |
setFilterPath(String string) – Устанавливает директорий, который |
|
использует диалог, может быть null |
|
|
Пример (рисунок 2.8):
Display display = new Display (); Shell shell = new Shell (display); shell.open ();
FileDialog dialog = new FileDialog (shell, SWT.SAVE); dialog.setFilterNames (new String [ ] {"Batch Files", "All
Files (*.*)"});
dialog.setFilterExtensions (new String [ ] {"*.bat", "*.*"}); //Windows wild cards
dialog.setFilterPath ("c:\\"); //Windows path dialog.setFileName ("fred.bat"); System.out.println ("Save to: " + dialog.open ());
72
Рисунок 2.8 – Пример диалога
2.14 Класс Menu
java.lang.Object
org.eclipse.swt.widgets.Widget
org.eclipse.swt.widgets.Menu
Объекты этого класса содержат пункты меню (таблица 2.13).
Стили: BAR, DROP_DOWN, POP_UP, NO_RADIO_GROUP, LEFT_TO_RIGHT, RIGHT_TO_LEFT
Примечание: Только один из BAR, DROP_DOWN и POP_UP может быть определен. Только один из LEFT_TO_RIGHT или RIGHT_TO_LEFT может быть определен.
События: Help, Hide, Show
Таблица 2.13 – Методы компонентов класса Menu
Поля
int handle – дескриптор в ресурсах OS (Предупреждение: Эта область является платформо-зависимой). Эта область не является частью API SWT
73
Конструкторы
Menu(Control parent) – Создает новый объект этого класса для родителя и устанавливает стиль высвечивания меню в заданной родительской оболочке
Menu(Decorations parent, int style) – Создает новый объект этого класса для родителя (который должен быть Decorations) и стиля, описывающего поведение и вид
Menu(Menu parentMenu) – Создает новый объект этого класса для родителя (который должен быть Menu) и устанавливает стиль падающего меню в данном родительском меню
Menu(MenuItem parentItem) – Создает новый объект этого класса для родителя (который должен быть MenuItem) и устанавливает стиль падающего меню в данном родительском подменю
|
Методы |
void |
addHelpListener(HelpListener listener) – Добавляет обработчик |
|
события помощи для элемента управления, посылая этому одно |
|
из сообщений определенное на интерфейсе HelpListener |
void |
addMenuListener(MenuListener listener) – Добавляет обработчик |
|
события скрытия или появления меню, посылая этому одно из |
|
сообщений определенное на интерфейсе MenuListener |
MenuItem |
getDefaultItem() – Возвращает по умолчанию пункт меню или |
|
null, если он не установлен |
boolean |
getEnabled() – Возвращается true, если получатель доступен, и |
|
false в противном случае |
MenuItem |
getItem(int index) – Возвращает пункт в данной, относительно |
|
нуля позиции у получателя |
int |
getItemCount() – Возвращает количество пунктов меню |
|
|
MenuItem[ |
getItems() – Возвращает массив (возможно пустой) MenuItems |
] |
пунктов меню |
Decoration |
getParent() – Возвращает родителя получателя, который должен |
s |
быть Decorations |
MenuItem |
getParentItem() – Возвращает родительский пункт получателя, |
|
который должен быть MenuItem или null когда получатель |
|
является корнем |
Menu |
getParentMenu() – Возвращает родительский пункт получателя, |
|
который должен быть Menu или null, когда получатель является |
|
корнем |
|
74 |
Shell |
getShell() – Возвращает оболочку получателя |
boolean |
getVisible() – Возвращается true, если получатель — видим, и |
|
false в противном случае |
int |
indexOf(MenuItem item) – Просматривает список получателя, |
|
начиная с первого пункта (индекс 0) пока заданный пункт не |
|
будет обнаружен и возвращает индекс этого пункта |
boolean |
isEnabled() – Возвращается true, если получатель и все предки |
|
получателя доступны, и false – в противном случае |
boolean |
isVisible()– Возвращается true, если получатель и все предки |
|
получателя видимы, и false – в противном случае |
void |
removeHelpListener(HelpListener listener) – Удаляет обработчик |
|
события помощи |
void |
removeMenuListener(MenuListener listener) – Удаляет обработчик |
|
события меню |
void |
setDefaultItem(MenuItem item) – Устанавливает по умолчанию |
|
пункт меню в аргумент или удаляет пункт по умолчанию, когда |
|
аргумент null |
void |
setEnabled(boolean enabled) – Делает доступным получателя если |
|
аргумент является true и недоступным в противном случае |
void |
setLocation(int x, int y) – Устанавливает позицию получателя, в |
|
который он должен быть высвечен, определенную аргументами |
|
относительно дисплея |
void |
setLocation(Point location) – Устанавливает позицию получателя, |
|
в который он должен быть высвечен, определенную |
|
аргументами относительно дисплея |
void |
setVisible(boolean visible) – Делает видимым получателя если |
|
аргумент — истина, и делает невидимым в противном случае |
|
|
Пример.
Menu bar = new Menu (shell, SWT.BAR); shell.setMenuBar(bar);
MenuItem fileItem = new MenuItem (bar, SWT.CASCADE); fileItem.setText (“&File”);
Menu submenu = new Menu (shell, SWT.DROP_DOWN); fileItem.setMenu (submenu);
MenuItem item = new MenuItem (submenu, SWT.PUSH); item.addListener (SWT.Selection, new Listener ()
{
public void handleEvent (Event e)
75