Если после добавления компонента контроля в область визуального редактирования щелкнуть его два раза левой кнопкой мышки, тогда для некоторых компонентов будет сгенерирован код присоединения слушателя событий выбора компонента.
В вершине иерархии SWT-классов компонентов находится класс Widget, обеспечивающий создание и удаление компонента, а также присоединение и удаление слушателей событий компонента.
Так как система SWT представляет собой Java-оболочку библиотеки графических компонентов низлежащей операционной системы, а многие библиотеки интерфейса требуют определения родителя при создании компонента, который, кроме того, имеет свои характеристики (styles), система SWT также определяет создание компонента с помощью конструктора класса, аргументами которого служат – объект родительского компонента и стиль создаваемого компонента, описывающий его поведение и внешний вид.
В этом состоит отличие системы SWT от систем AWT и Swing, в которых дочерние компоненты добавляются к компоненту-контейнеру с помощью метода add.
Удаление экземпляров компонентов системы SWT также имеет свою особенность.
Так как при создании экземпляра SWT-компонента создается соответствующий экземпляр компонента операционной системы, а сборщик мусора JVM не имеет четкого расписания времени, для корректного управления ресурсами необходимо программным способом удалять экземпляры SWT-компонентов, используя метод dispose.
Для обработки событий компонентов система SWT предлагает два типа слушателей – типизированные и не типизированные слушатели.
Не типизированные слушатели присоединяются к SWT-компоненту методом addListener класса Widget, где параметр eventType – код типа события, определяемый полем класса SWT, а параметр listener – экземпляр класса (как правило, анонимного), реализующего интерфейс Listener с единственным методом handleEvent.
Типизированные слушатели присоединяются к SWT-компоненту методами addХХХListener, где параметр listener – экземпляр класса (как правило, анонимного), реализующего интерфейс ХХХListener с методами обработки конкретного типа событий.
Раздел JFace Palette-палитры обеспечивает использование JFace-компонентов пакетов org.eclipse.jface.viewers, org.eclipse. jface. text и org.eclipse.jface.fieldassist.
JFace-компоненты ComboViewer, ListViewer, TableViewer, TableViewerColumn, CheckboxTableViewer, TreeViewer, TreeViewerColumn, CheckboxTreeViewer и TextViewer представляют собой обертки соответствующих SWT-компонентов, реализуя архитектуру MVC.
При добавлении JFace-компонентов в область визуального редактирования WindowBuilder-редактора отображается SWT-компонент и значок JFace-компонента.